سلام من داخل پروژه مجبور شدم از دوتا جدول داخل دیتابیسم استفاده کنم که را بطه یک به یک دارن و وضعیت رابشون هم با fluent api استفده شده و configuration هم استفاده کردم داخل dbContext همه چی درست کار میکنه ولی زمانی که میخام از scafolding استفده کنم رو یکی از این جدول ها نمیزاره و بهم ارور میده که ارورش هم داخل عکس میفزستم ببینید
واقعا نمیدونم باید چیکار کنم ممنون میشم راهنمایی کنید
کدد هاتون رو قرار بدید تا بررسی کنیم
کد های مدل را
این کد های مربوط به یکی زا مدل هاس
public class Category { public Category() { CategoryID = new Guid(); } [Key] public Guid CategoryID { get; set; } [Display(Name = "نوع خدمت")] [Required(ErrorMessage = "لطفا{0}را وارد کنید")] [MaxLength(200, ErrorMessage = "تعداد کاراکتر بیش از حد مجاز است")] public string CategoryName { get; set; } public virtual ICollection<Service> Services { get; set; } public virtual CategoryDetail CategoryDetail { get; set; } }
و این کد مروبط به مدل دیگر هست که با مدل بالا رابطه یک به یک دارد
public class CategoryDetail { internal class Configuration : System.Data.Entity.ModelConfiguration.EntityTypeConfiguration<CategoryDetail> { public Configuration() { HasKey(current => current.CategoryID); HasRequired(current => current.Category) .WithOptional(category => category.CategoryDetail) .WillCascadeOnDelete(true); } } public CategoryDetail() { } [Display(Name = "عنوان")] [MaxLength(100, ErrorMessage = "تعداد کاراکتر بیش از حد مجاز است")] [Required(ErrorMessage = "لطفا {0} را وارد کنید")] public string Title { get; set; } [Display(Name = "عکس")] public string ImageName { get; set; } [Display(Name = "توضیح مختصر")] [MaxLength(300, ErrorMessage = "تعداد کاراکتر بیش از حد مجاز است")] [Required(ErrorMessage = "لطفا {0} را وارد کنید")] [DataType(DataType.MultilineText)] public string ShortDescription { get; set; } [Display(Name = "توضیحات")] [DataType(DataType.MultilineText)] [AllowHtml] public string Text { get; set; } [Display(Name = "نوع دسته بندی")] public Guid CategoryID { get; set; } public virtual Category Category { get; set; } }
و این هم قسمت مربوط به dbcontext هست
public class MyCmsContext:DbContext { public MyCmsContext() { } protected override void OnModelCreating(System.Data.Entity.DbModelBuilder modelBuilder) { modelBuilder.Configurations.Add(new CategoryDetail.Configuration()); } public DbSet<CategoryDetail> CategoryDetails { get; set; } public DbSet<Category> Categories { get; set; } }
Configuration را باید در خود Context قرار دهید
از مدل خارج کننید
کدها به نظر بدون مشکل هستند
کلا configuration رو براش یه کلاس جدا درست کردم و بعد داخل context اضافه کردم بازم همون ارور و میده واقعا موندم باید چیکار کنم
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)