我有两个实体,一个项目和一个公司。 一家公司有一个多个项目的清单,一个项目有一个公司。
目前我正在将现有公司从数据库添加到项目
e.g。
project.company = getCompanyByName("Microsoft");
返回正确的公司并将其添加到我的项目中。
但是,当我将这个新项目添加到DB中时:
ctx.AddToProjects(project);
ctx.SaveChanges();
它还将增加第二家微软公司 那么如何让我的项目再次参考现有公司而不添加呢?
答案 0 :(得分:1)
在将公司与项目关联之前,将公司附加到上下文。
一旦公司安全地进入上下文,您在项目上执行的操作将不会影响其状态。