0
關係我有很多一對多的關係如下:參考現有記錄或添加新記錄許多一對多在EF
Table1
ID (int) | Name (string)
Table2
ID (int) | Data (string)
Table1_2
Table1ID (int) | Table2ID (int)
我願做實體框架如下:
給定List<Table1>
,查看Table1中是否有匹配的記錄;如果是這樣,請參考它們;如果不是,請添加並引用它們。例如,像這樣的東西:
public void InsertOrReferenceExisting(string data, List<Table1> table1References)
{
var myEntities = new MyEntities();
var table1Entities = new EntityCollection<Table1>();
foreach(var row in table1References)
{
var existing = myEntities.Table1.Where(x => x.Name == row.Name);
if (existing.Count() > 0)
{
// reference existing row in Table1
}
else
{
// add new row to Table1
}
}
myEntities.Table2.AddObject(new Table2
{
Data = data,
Table1s = table1Entities
});
myEntities.SaveChanges(SaveOptions.AcceptAllChangesAfterSave);
}
我在正確的軌道上嗎?
你爲什麼要在table2中添加table1Entities? – 2012-02-06 20:35:13
澄清:您的最終目標是保存新的Table1對象,即新的Table2對象,並在Table1_2表中爲新的Table2記錄和每個Table1記錄傳入(新的或不是)。 – 2012-02-06 20:40:49
@JasonWilliams:對 – cm007 2012-02-06 20:53:00