实体框架指的是数据库中的实体,而不需要再次添加它

本文关键字:实体 不需要 添加 框架 数据库 | 更新日期: 2023-09-27 18:04:50

我有两个实体,一个项目和一个公司。一个公司有多个项目的列表,一个项目有一个公司。

在这个时候,我添加一个现有的公司从数据库项目

project.company = getCompanyByName("Microsoft");

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

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

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

它还将增加第二个微软公司那么,我如何使我的项目引用现有公司而不添加它呢?

实体框架指的是数据库中的实体,而不需要再次添加它

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

一旦公司安全处于上下文中,您对项目执行的操作将不会影响其状态。