[英]Entity Framework doesn't want to remove rows in table with many-to-many relationship
[英]How do you create a many-to-many relationship in Entity Framework if the database doesn't have a linking table?
我正在使用VS 2010 Entity Framework设计器来修改从数据库自动生成的一些实体。
数据库结构由我正在构建UI的产品定义,因此我无法对其进行修改。
数据库具有多表关系的表,这些表纯粹基于两个表上非键列中的公共值。
换句话说,用户配置文件只是用户到SecurityProfiles的映射的名称。
该向导为Users和SecurityProfile表创建了实体。 我创建了一个名为UserProfile的新实体,其中包含一个关键字段: userProfile 。
我创建了一个从UserProfile到User以及从UserProfile到SecurityProfile的一对多关联。 这一切都很好,除了UserProfile实体没有表映射,因此它不会编译。
如何在Entity Framework中创建此关联?
更新:
如果不可能使用EF(如第一个答案所建议的那样),是否可以手动创建一个非绑定实体,我可以用它来链接这两个实体,这样我就可以暴露一个至少更容易一点的对象模型导航?
即我将使User和SecurityProfile实体抽象并手动定义这些实体的扩展,并指向我手动创建的UserProfile实体的相应属性
你不会。 EF无法与数据库中不存在的多对多关联一起使用。 EF要求与数据库具有相同的引用完整性 - 在这种情况下,它要求连接表存在并映射到图中使用的关联。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.