我正在使用实体框架4.1(数据库第一,例如“旧学校”),并且我在ASP.NET MVC中使用POCO 3网络应用程序。EF 4.1 - 不能将一个实体与另一个现有实体相关联(可空值FK)
我已经有了一个1 - Foo
和Bar
之间0..1关系,由可空INT在Foo
表支持。
我POCO的是这样的:
public class Foo
{
public Bar Bar { get; set;
}
public class Bar
{
public int BarId { get;set; }
}
现在,我有一个已经存在于系统中的Foo
,但BarId
为空。
现在我试图将Foo
与现有的Bar
联系起来。
这是代码我有:
var existingBar = _repo.GetBar(2);
var existingFoo = _repo.GetFoo(1);
existingFoo.Bar = existingBar;
但在幕后,EF被添加新Bar
。为什么?
我也试过这样:
existingFoo.Bar = new Bar { BarId = 2 };
E.g的“存根技术”,但是在EF抱怨空列(因为再次,它试图创建一个“新”酒吧)。
我确定我以前做过这个 - 我只是希望解决方案结束后我不会“使用SP”。
正如我所说 - 我使用POCO的,所以我没有直接访问我的控制器中的DbContext
或ObjectContext
。
有什么建议吗?
你需要在你的Foo类中使用“BarId”吗? – Matthew 2011-12-15 04:41:25
@Matthew--我在做,就像在问题中一样..除非你的意思是别的吗? – RPM1984 2011-12-15 04:45:43