0

我正在尝试向数据结果添加一些信息,无论用户是否具有对该实体的读取或写入访问权限。

假设我有这个实体:

public class Foo
{
   public int Id { get; set; }
   public string Name { get; set; }
   public virtual ICollection<Access> AccessRights { get; set; }
}

保存AccessRights用户 ID 的位置以及他们是否具有读/写访问权限。

目前我只是$expandAccessRights 并计算用户是否在前端具有读/写访问权限。但是,我希望将此计算属性添加到结果中。

示例 json 结果:

{
   id: 1,
   name: "foo",
   hasReadAccess: true,
   hasWriteAccess: true
}

是否有可能做到这一点?请记住,HasRead/WriteAccess模型上不存在也不应该存在。

4

1 回答 1

0

您需要将模型分成两部分:数据访问模型(从数据访问层获得的内容)和数据传输模型(作为响应发送的内容)。

假设您当前的Foo类是数据访问模型,您只需定义另一个类FooResponse(或任何适合您的名称),如下所示。

public class FooResponse
{
    public int Id { get; set; }
    public string Name { get; set; }
    public bool HasReadAccess { get; set; }
    public bool HasWriteAccess { get; set; }
}

然后定义一个从实例映射到实例的转换函数。AutoMapper是一个很好的工具。FooFooResponse

于 2016-01-03T05:44:26.083 回答