עזרה עם EF code first - Seed
שלום לכולם,
פעם ראשונה שאני עובד עם EF Code First. חלק מההכנה של הdatabase אני משתמש בSEED.
לצורך העניין יש לי שני טבלאות :
Insurer
InsurerName
public int InsurerId { get; set; }
public string PrimaryName { get; set; } public string AbiId { get; set; } public virtual Insurer Insurers { get; set; } }public class InsturerName{ public string Name { get; set; } public int InsurerId { get; set; } public virtual Insurer Insurer { get; set; }}
אינדקסים:
Insurer.InsurerId - PK - מספר אוטומטי
Insurer.AbiId - Unique Index
InsuererName.InsurerId + InsurerName.Name - PK
הפונקציה של ה SEED:
new Data.Insurer() { AbiId = "001", PrimaryName = "Bla" }
};
var objChild = new Data.InsurerNames[]{ new Data.InsturerName() { Insurer = objParent[0], Name = "Bla" }, new Data.InsturerName() { Insurer = objParent[0], Name = "Bla1" }, new Data.InsturerName() { Insurer = objParent[0], Name = "Bla2" }, new Data.InsturerName() { Insurer = objParent[1], Name = "Cla" },};context.Insurers.AddOrUpdate(one => one.AbiId, objParent );context.InsurerNames.AddOrUpdate(one => new {one.InsurerId, one.Name}, objChild ); context.SaveChanges();
כאשר אני בונה את הDB בפעם הראשונה - הכל נבנה כמו שצריך ללא בעיות או הודעות שגיאה.
כאשר אני מריץ את הקוד על DB קיים - אני מקבל שגיאה של INDEX קיים בטבלה הראשונה (Insurer.AbiId). - אבל בקוד של הטבלה השניה
איך אני יכול לגרום לקוד של ה CHILD - לעשות גם בדיקה על האובייקט הוירטואלי? (כלומר Insurer בתוך ה InsurerName).
תודה מראש,
עמרUK
שלום לכולם,
פעם ראשונה שאני עובד עם EF Code First. חלק מההכנה של הdatabase אני משתמש בSEED.
לצורך העניין יש לי שני טבלאות :
Insurer
InsurerName
public class Insurer{public int InsurerId { get; set; }
public string PrimaryName { get; set; } public string AbiId { get; set; } public virtual Insurer Insurers { get; set; } }public class InsturerName{ public string Name { get; set; } public int InsurerId { get; set; } public virtual Insurer Insurer { get; set; }}
אינדקסים:
Insurer.InsurerId - PK - מספר אוטומטי
Insurer.AbiId - Unique Index
InsuererName.InsurerId + InsurerName.Name - PK
הפונקציה של ה SEED:
var objParent = new Data.Insurer[]{new Data.Insurer() { AbiId = "001", PrimaryName = "Bla" }
};
var objChild = new Data.InsurerNames[]{ new Data.InsturerName() { Insurer = objParent[0], Name = "Bla" }, new Data.InsturerName() { Insurer = objParent[0], Name = "Bla1" }, new Data.InsturerName() { Insurer = objParent[0], Name = "Bla2" }, new Data.InsturerName() { Insurer = objParent[1], Name = "Cla" },};context.Insurers.AddOrUpdate(one => one.AbiId, objParent );context.InsurerNames.AddOrUpdate(one => new {one.InsurerId, one.Name}, objChild ); context.SaveChanges();
כאשר אני בונה את הDB בפעם הראשונה - הכל נבנה כמו שצריך ללא בעיות או הודעות שגיאה.
כאשר אני מריץ את הקוד על DB קיים - אני מקבל שגיאה של INDEX קיים בטבלה הראשונה (Insurer.AbiId). - אבל בקוד של הטבלה השניה
איך אני יכול לגרום לקוד של ה CHILD - לעשות גם בדיקה על האובייקט הוירטואלי? (כלומר Insurer בתוך ה InsurerName).
תודה מראש,
עמרUK