项目中经常用到组合条件查询,根据用户配置的查询条件进行搜索,拼接SQL容易造成SQL注入,普通的LINQ可以用表达式树来完成,但也比较麻烦。有个System.Linq.Dynamic.Core用起来比较方便。

NuGet:

Install-Package System.Linq.Dynamic.Core

大致的用法是这样的:

//NULL类型判断
var query = dbContext.sys_user.Where("userid!=null").OrderBy("id desc");//整形的查询
var query = dbContext.sys_user.Where("id>0").OrderBy("id desc");//整形的查询 带参数
var query = dbContext.sys_user.Where("id>@0", 2).OrderBy("id desc");//字符型查询
var query = dbContext.sys_user.Where("username=\"张三\").OrderBy("id desc");//like查询
var query = dbContext.sys_user.Where("username.Contains(\"key\")").OrderBy("id desc");//日期类型
var query = dbContext.sys_user.Where("createtime <= @0", DateTime.Now).OrderBy("id desc");//组合条件
var query = dbContext.sys_user.Where("id>0 and username=\"张三\"").OrderBy("id desc");

原文链接

EF Core中关于System.Linq.Dynamic.Core的使用(转载)相关推荐

  1. 在 .NET Core 中如何让 Entity Framework Core 在日志中记录由 LINQ 生成的SQL语句

    在开发中,我们想在调试中查看EF Core执行的sql语句,可以使用SQL Studio Manager Tools工具,另一种方式是使用EF Core提供的日志.在ASP.NET Core使用Ent ...

  2. Net core中使用System.Drawing对上传的图片流进行压缩

    由于net core 中默认没有System.Drawing,可以通过nuget下载一个来代替System.Drawing.Common 直接压缩图片 /// <summary> /// ...

  3. [译]如何在.NET Core中使用System.Drawing?

    你大概知道System.Drawing,它是一个执行图形相关任务的流行的API,同时它也不属于.NET Core的一部分.最初是把.NET Core作为云端框架设计的,它不包含非云端相关API.另一方 ...

  4. EF sqlite3报错 System.Data.Entity.Core.EntityException: 在提供程序连接上启动事务时出错。有关详细信息,请参阅内部异常。...

    问题:sqlite3使用ef框架操作数据库报错 问题原因:数据库文件没有访问权限 结局方案:可以将数据库文件所在的文件夹的访问权限添加Everyone用户权限. 错误:"System.Dat ...

  5. 第五节:EF Core中的三类事务(SaveChanges、DbContextTransaction、TransactionScope)

    一. 说明 EF版本的事务介绍详见: 第七节: EF的三种事务的应用场景和各自注意的问题(SaveChanges.DBContextTransaction.TransactionScope). 本节主 ...

  6. C#中利用Linq.Dynamic实现简单的动态表达式构建查询

    背景介绍 在ADO.NET中我们可以根据用户输入的查询条件拼接出指定的SQL语句进行查询或者筛选出所需的数据,但是在ORM框架如EF中,我们一般用LINQ操作数据查询,LINQ是否可以像SQL一样拼接 ...

  7. transactionscope 中的异步 处理 异常_.NET Core中TransactionScope事务处理方法介绍及注意事项...

    作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/10170712.html 今天在写CzarCms的UnitOfWork的使用使用到了这个Transacti ...

  8. .net mysql transactionscope_TransactionScope事务处理方法介绍及.NET Core中的注意事项

    原标题:TransactionScope事务处理方法介绍及.NET Core中的注意事项 作者:依乐祝 原文链接:https://www.cnblogs.com/yilezhu/p/10170712. ...

  9. 【gRPC】 在.Net core中使用gRPC

    最近在学习.net core的微服务体系架构.微服务之间的通信常常通过gRPC进行同步通信,但是需要注意的是,大多数微服务之间的通信是通过事件总线进行异步通信.在微软介绍.net微服务体系架构的项目e ...

最新文章

  1. 多态定义、多态实现、多态分类。
  2. MapReduce编程实战之“工作原理”
  3. 【PP生产订单】入门介绍(六)
  4. Kinect开发笔记之五使用PowerShell控制Kinect
  5. 换了电脑如何使用hexo继续写博客
  6. vue中tab选项卡刷新页面后保持选中状态_Altium Designer中的快捷键汇总
  7. Maven:IDEA 使用maven 下载源码包
  8. oracle 函数 实现重载_Oracle 过程、函数、包、重载、自主事务
  9. 动态规划——最长公共子序列
  10. Android(java)学习笔记155:中文乱码的问题处理(qq登录案例)
  11. Android studio 如何导入并引用Library工程
  12. win7旗舰版无法安装kb2670838ie补丁都打不上去 玩h1z1
  13. python编写移位密码实现加密与解密
  14. 解决读取文件乱码问题
  15. iOS动画——流光文字
  16. 电脑桌面的计算机网络回收站图标不见了,桌面回收站图标不见了怎么办 回收站图标找回方法【图文】...
  17. IE浏览器极限提速完全攻略
  18. 2019113_房价预测
  19. VBA小白的福音 如何在EXCEL中实现连续编号自动更新打印?
  20. 一文读懂深度学习与机器学习的差异

热门文章

  1. Git 基础 - 打标签 tag
  2. Spring AOP详细介绍
  3. GitHub详解(GitHub for Windows)
  4. 浅谈代码的执行效率(3):缓存与局部性
  5. Windows未能启动,原因可能是最近更改了硬件或软件,解决此问题的步骤
  6. TypeScript 3.0 新功能介绍(二)
  7. Android爬坑之旅之WebView
  8. Symfony2Book04:Doctrine03-对象关系映射(ORM)
  9. 如何选择你最合适的linux系统
  10. 你必须知道的10个提高Canvas性能技巧