过滤器能否区分增删改查功能 返回

求助
7 104

根据执行的语句自动判断当前操作是新增还是修改、删除、查询等功能,以实现在不同的操作环境下插入过滤条件,实现多租户等功能。类似 db.Aop.OnDiffLogEvent 里面的 var diffType = it.DiffType; //enum insert、update and delete ,再多加个SELECT的枚举。

还有过滤器里面的参数最好可以实现动态传入,不要固定写死某个参数名称(如下面代码的 t ),比如可以默认自动获取主表的参数名称

new SqlFilterResult() { Sql = " t.TenantId=@TenantId", Parameters = new { TenantId = TenantId() } };


热忱回答7

  • 过滤器只是查询的

    0 回复
  • 后面过滤器会升级 ,支持表的过滤 

    0 回复
  • @fate stay night

    0 回复
  • 我觉得新增时可以通过过滤器给值会好一点,这样开发的过程就不用考虑给租户Id赋值了,修改和删除可以不用设置。您觉得呢?

    0 回复
  • @蓝色天空:目前guid 只要不填值 会自动赋值

    0 回复
  • 主键

    0 回复
  • @fate stay night:但是还是有很多地方租户Id不是设为主键的,比如文章表里,我新增文章,又要区分是哪个租户的文章,这时候就需要给租户Id赋值,如果放到过滤器里实现,那么操作文章时就不用考虑租户Id的事情,这样就更方便实现系统是否开启多租户的模式。所以希望您在过滤器里实现查询、插入的过滤器,甚至可以实现修改、删除的过滤器,以提升系统安全性。

    0 回复

版块

学习文档

新注册

发布达人

回贴达人