C# 在查找表和EF中映射额外属性
我在数据库中建立了以下多对多关系 使用代码优先EF映射;C# 在查找表和EF中映射额外属性,c#,entity-framework,C#,Entity Framework,我在数据库中建立了以下多对多关系 使用代码优先EF映射;票据具有分支的i集合,反之亦然 这一切都很好,但现在我需要做一个重大的改变,因为规范已经充实了 最初,单个票据可以标记为IsRead,但作为一个概念,只有当票据分配给单个分支机构时,这种标记才真正起作用。我需要做的是说每个分支机构都读到了票据 现在我的第一个想法是,我应该更改关系表BranchTickets,使其具有标识列和IsRead属性,从而创建一对多关系,但我不知道如何使用code first Api映射两个外键 这是正确的方法吗?
票据
具有分支
的i集合
,反之亦然
这一切都很好,但现在我需要做一个重大的改变,因为规范已经充实了
最初,单个票据
可以标记为IsRead
,但作为一个概念,只有当票据
分配给单个分支机构时,这种标记才真正起作用。我需要做的是说每个分支机构
都读到了票据
现在我的第一个想法是,我应该更改关系表BranchTickets
,使其具有标识列和IsRead
属性,从而创建一对多关系,但我不知道如何使用code first Api映射两个外键
这是正确的方法吗?如果是,我将如何确保EF正确映射表?如果
票证
只能被视为在分支
级别读取,那么我会说,您需要做的就是从票证
中删除IsRead
属性并将其移动到分支
这意味着每个单独的票证可以与具有不同读取状态的多个分支相关联
我如何确保EF恰当地映射表
这是您需要在DB级别进行的更改,然后您可以更新您的EF模型。您能否澄清我需要对模型本身进行哪些更改?我已经更新了db和我的edmx,但我现在仍停留在代码的第一部分。在VS中,如果双击edmx文件,它应该会在designer视图中打开。右键单击模型中的任意位置,您将看到“从数据库更新模型”选项。您可能需要手动从您的票证模型中删除旧的
IsRead
属性。我不确定它是否会自动删除字段。我指的是POCO类本身。不过我明白了,谢谢。@JamesSouth Oops对不起,我刚读到你的第一条评论,你说“我已经更新了db和我的edmx”(我错过了和部分!)。干杯。你最初的评论实际上让我走上了使用POCO生成器生成新类的轨道,因为这正是我陷入困境的地方。