【问题标题】:Mapping Relationships With Several Tables Relating to a Single Table in Entity Framework实体框架中与单个表相关的多个表的映射关系
【发布时间】:2017-03-10 07:00:25
【问题描述】:

我有一个表,其中包含各种对象/实体的用户权限,如下所示:

object_type //an enum referring the the type of object that this record applies to
object_id //the id of the object
user_id
can_edit
etc.

这将与我项目中的其他几个表相关,这些表实际上没有任何共同点(照片就是一个例子)。要获得对象的权限,我希望能够执行以下操作:

//get the first photo along with all of the user permissions related to it
context.Set<Photos>()
     .Include(p=>p.UserPermissions)
     .FirstOrDefault(p=>p.Id == 1)  

如果需要,我可以重组数据库,所以我想在这里提出您认为最好的解决方案。

【问题讨论】:

  • 使用支持行安全性的数据库会智能大约 100 倍

标签: entity-framework database-design


【解决方案1】:

我将建议他们确实都有一些共同点。它们都是可以控制权限的资源。在这种情况下,“资源”是“照片”等的概括。或者,用对象类表示,照片是资源的子类。

在这种情况下,我建议您的问题可能已被回答here。这是 Bill Karwin 的回答,描述了为继承类型情况设计的几种方法。它赢得了很多选票。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2019-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多