企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# EF框架介绍 ``` https://www.jianshu.com/p/ce8026992275 https://www.cnblogs.com/bomo/p/3331602.html https://blog.csdn.net/liyazhen2011/article/details/80541546(这个比较好) 这条路走得太远,暂停走。还是用传统的ADO.DB来实现 ``` ``` //这里介绍LINQ DataContext类,DataContext 是用来连接到数据库、从中检索对象以及将更改提交回数据库的主要渠道。使用 DataContext 时就像使用 ADO.NET SqlConnection 一样。 DataContext db = new DataContext(SqlEasy.connString); Table<FlowInstanceModel> Customers = db.GetTable<FlowInstanceModel>(); var cs = from c in Customers where c.KeyId<999 select c; Response.Write(NetWing.Common.JSONhelper.ToJson(cs)); ``` # linq统计 ``` 简单方式 int ccc= Customers.Count(); 带统计的方式 int ccc= Customers.Count(uk => uk.MakerList == "1" || uk.MakerList.Contains("9")); ``` # linq分页 在所有的数据中在查询你要分页的数据 ``` result.data = (from u in fi where u.MakerList == "1" || u.MakerList.Contains(user) orderby u.CreateDate descending select u).Skip(pageSize * (pageNum - 1)).Take(pageSize); 在所有的数据中在查询你要分页的数据,skip是在分页在前有多少条数据,也就是在当前页数据之前的数据总和,(跳过序列中指定数量的元素,然后返回剩余的元素。)pageSize*(pageIndex-1),Take 是返回多少条数据,也就是pageSize! ``` # linq 优化查询分页 ``` public static List<T> GetList(int pageIndex, int pageSize, out int count) { using (var db = new ClientDBDataContext(DBHelper.DBConString)) { var query = db.DataBase_Table.AsParallel(); count = query.Count(); return query.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList(); } } ``` # 枚举填充实体 ``` //枚举填充实体类 IEnumerable<FlowInstanceModel> f = DbUtils.GetWhere<FlowInstanceModel>(new { KeyId = 16 }); FlowInstanceModel m = new FlowInstanceModel(); m.InjectFrom(f); ```