如何確保EF爲相同的對象出現生成相同的ID?生成不同ID的相同實體
E.g.如果我有一個類,如:
class Foo{
ICollection<Bar> Bar1;
ICollection<Bar> Bar2;
}
如果我創建一個新的實體Foo
和Bar
(未設置ID)的單個實例添加到這兩個Bar1
和Bar2
- 將它用相同的ID兩個或創建每次都有新的?例如: -
var bar = new Bar();
var foo = new Foo{
Bar1 = new List<Bar>(){ bar };
Bar2 = new List<Bar>(){ bar };
}
context.SaveChanges();
請問Bar1
和Bar2
包含相同的記錄bar
用相同的ID?
更新:如果我有兩個與Equals
和哈希碼相同的實例,該怎麼辦?
var first = new Bar();
var second = new Bar(); /// first.equals(second)
var foo = new Foo{
Bar1 = new List<Bar>(){ first };
Bar2 = new List<Bar>(){ second };
}
還是EF沒有檢查等於?
看來你自己試試會更快,不是嗎? – graumanoz 2013-05-13 19:38:50