实体框架引用数据库中的实体而不再添加它

时间:2011-08-09 11:02:05

标签: c# entity-framework-4 add

我有两个实体,一个项目和一个公司。 一家公司有一个多个项目的清单,一个项目有一个公司。

目前我正在将现有公司从数据库添加到项目

e.g。

project.company = getCompanyByName("Microsoft");

返回正确的公司并将其添加到我的项目中。

但是,当我将这个新项目添加到DB中时:

ctx.AddToProjects(project);
ctx.SaveChanges();

它还将增加第二家微软公司 那么如何让我的项目再次参考现有公司而不添加呢?

1 个答案:

答案 0 :(得分:1)

在将公司与项目关联之前,将公司附加到上下文。

一旦公司安全地进入上下文,您在项目上执行的操作将不会影响其状态。