特征接口


管理员插件使用了以下的特征接口

  • IHaveOwner
    • 类型是否有所属用户的特征

类型是否有所属用户的特征

使用特征

var haveOwner = OwnerTypeTrait<TEntity>.HaveOwner;

这个特征用于标记数据是否有所属的用户,
例如每个用户只能看到自己的短信息,不能看到别人的短信息。

使用过滤器过滤只属于自身的数据

var uow = Application.Ioc.Resolve<IUnitOfWork>();
var filter = new OwnerFilter();
using (uow.Scope())
using (uow.EnableQueryFilter(filter))
using (uow.EnableOperationFilter(filter)) {
    // 在这里只能查询属于自己的数据
    // 尝试写入不属于自己的数据时会抛出错误
}