با سلام و خسته نباشد
کد زیر مربوط به دسته بندی هست که با code first پیاده سازی شده
public class Category { [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int Id { get; set; } [Required(ErrorMessageResourceName = "IsRequired", ErrorMessageResourceType = typeof(Error))] [Display(Name = "Name", ResourceType = typeof(Languages.Resources.DomainLabel))] [StringLength(500, ErrorMessageResourceName = "Between", ErrorMessageResourceType = typeof(Error), MinimumLength = 1)] public string Name { get; set; } [ForeignKey("Parent")] [Display(Name = "Parent", ResourceType = typeof(DomainLabel))] public Nullable<int> ParentId { get; set; } public virtual Category Parent { get; set; } [ForeignKey("Language")] public int LanguageId { get; set; } public virtual Language Language { get; set; } }
و کد زیر هم داخل متد seed نوشتم
db.Roles.AddOrUpdate( new IdentityRole { Name = "SuperAdmin" }, new IdentityRole { Name = "Admin" }, new IdentityRole { Name = "Registred" } ); db.Languages.AddOrUpdate( new Language { Name = "فارسی", Cultur ="fa", IsActive = true }, new Language { Name = "English", Cultur = "en", IsActive = true }, new Language { Name = "العربی", Cultur = "ar", IsActive = true } ); db.SaveChanges(); db.Categores.AddOrUpdate( new Category { Name = "دسته بندی نشده", LanguageId = db.Languages.SingleOrDefault(s => s.Cultur.Equals("fa")).Id, Parent = new Category() }, new Category { Name = "Uncategorized", LanguageId = db.Languages.SingleOrDefault(s => s.Cultur.Equals("en")).Id, Parent = new Category() }, new Category { Name = "غير مصنف", LanguageId = db.Languages.SingleOrDefault(s => s.Cultur.Equals("ar")).Id, Parent = new Category() } );
اطلاعات مربوط به جدول languages و جدول roles داخل دیتابیس ثبت میشه البته در صورتی که دستور مربوط به جدول Categores رو پاک کنم , دلیلش هم بخاطر اینکه جدول Categores یه کلید خارجی داره که به خودش وصل شده ولی نمیدونم کدش رو چطور باید بنویسم که جواب بده
ابتدا در گروه ها ، گروه های والد را ثبت کنید و بعد زیر گروه ها
مشکل اینجاست که این سه تا خودشون والد هستن
متن error در زمان update-databas
Validation failed for one or more entities. See 'EntityValidationErrors' property for more details.
این کد رو هم نوشتم به صورت تکی بازم جواب نداد
db.Categores.AddOrUpdate( new Category { Name = "دسته بندی نشده", LanguageId = db.Languages.SingleOrDefault(s => s.Cultur.Equals("fa")).Id });
مشکل فکر کنم در صفت های اعتباری سنجی که دادید هست یا مقداری نا معتبر سمت بانک ارسال میشه
متن ارور به این اشاره داره
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)