【问题标题】:Edit Model from Entity Framework从实体框架编辑模型
【发布时间】:2013-04-10 14:50:23
【问题描述】:

我的数据库中有下一张表:

Users:
   id
   userName
   pass

    1
    |
    *

Users_Groups:
   id_user
   id_group
   delegate(bool)

    *
    |
    1

Groups:
   id
   GroupName
   ...

我使用实体框架创建模型,使用 add-> EF 数据模型...在 3 个表中选择... 获取 .edmx 文件

但我得到了模型:

-Users
-users_Groups
-Groups

我只想

-Users
-Groups (whit the delegate value)

如何编辑模型或如何创建新模型来执行此操作?

【问题讨论】:

  • 试试这个链接:em64t.net/2011/03/…
  • 设计器不会删除连接表,因为您的表中有委托列。请注意,您在数据库中拥有的是委托列描述了关系(因为它位于连接表上),但您希望将其更改为描述模型中的组,这在语义上并不等效。我不确定您尝试做的事情是否有可能实现 - 例如如果您只有设置了委托属性的 Groups 实体会发生什么?如果缺少 id_user 值,应该如何将属性保存到数据库中?

标签: .net entity-framework model


【解决方案1】:

Delegate 属性是否在逻辑上描述了组或用户?还是用户组的组合?

您的模型说它是用户组组合的属性,因此用户组组合成为它自己的实体,因为它具有两个外键以外的属性。

如果您的组在逻辑上有一个(并且只有一个)用户作为其委托,那么您应该将 UserId 添加为组的外键属性。如果许多用户可以成为许多组的代表,那么它应该是现在(具有 Delegate 属性的单独 UserGroup 实体),或者您可以有 2 个连接表,一个描述组的普通用户,另一个描述代表。

【讨论】:

    【解决方案2】:

    我在这里找到了我的解决方案: https://skydrive.live.com/?cid=245ed00edb4c374e&id=245ED00EDB4C374E!132

    第 76 页,第 2.2.5 节“将多对多表映射为 2 个多对多关联”

    tks to all

    【讨论】:

      猜你喜欢
      • 2013-08-03
      • 2017-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      • 2011-08-28
      • 2018-05-14
      • 1970-01-01
      相关资源
      最近更新 更多