我想知道是否有可能(使用实体框架时)插入具有相同密钥的2个实体?
假设我们有这样的模型:
class Foo {
Bar Bar1 { get; set; }
Bar Bar2 { get; set; }
}
Bar1和Bar2可以是同一个'Bar'。例如:
说我们在Bar里面有一个键:
class Bar {
int Key { get; set; }
}
Foo类的实例可能如下所示:
Foo.Bar1.Key == 1
Foo.Bar2.Key == 1
因此他们是同一个实体。
但是,如果我尝试将Foo插入数据库,则会导致实体框架尝试分别添加Bar1和Bar2,从而导致主键冲突。
我的问题是:
是否可以告诉实体框架跳过添加Bar2并添加对Bar1的引用?