当前位置: 首页 > news >正文

柳州商城网站开发全站仪为什么要建站

柳州商城网站开发,全站仪为什么要建站,河南郑州房价,一元购网站的建设前言很长一段时间没有写博客了#xff0c;今天补上一篇吧#xff0c;偶尔发现不太愿意写博客了#xff0c;太耗费时间#xff0c;不过还是在坚持当中#xff0c;毕竟或许写出来的东西能帮到一些童鞋吧#xff0c;接下来我们直奔主题。无论是在在EF 6.x还是EF Core中对于原… 前言很长一段时间没有写博客了今天补上一篇吧偶尔发现不太愿意写博客了太耗费时间不过还是在坚持当中毕竟或许写出来的东西能帮到一些童鞋吧接下来我们直奔主题。无论是在在EF 6.x还是EF Core中对于原始查询的APi都比较鸡肋比如我们只想查询单个值它们是不支持的比如我们只想有些列它们也是不支持的太多太多不支持唯一支持的是只能返回表中所有列即类中所有字段。所以大部分情况下我都是写原生SQL原始查询都没怎么用到过最近有对热爱EF的同行问到怎么利用SqlQuery实现动态查询我没有答案压根没想过用这个方法私下看了看还是给出一点点思考吧。若对您有帮助就好没有用就当是我补上了一篇博客吧。EF 6.x和EF Core实现动态查询public static IEnumerabledynamic SqlQueryDynamic(this DbContext db, string Sql, params SqlParameter[] parameters)        {            using (var cmd db.Database.Connection.CreateCommand())            {                cmd.CommandText Sql;                if (cmd.Connection.State ! ConnectionState.Open)                {                    cmd.Connection.Open();                }                foreach (var p in parameters)                {                    var dbParameter cmd.CreateParameter();                    dbParameter.DbType p.DbType;                    dbParameter.ParameterName p.ParameterName;                    dbParameter.Value p.Value;                    cmd.Parameters.Add(dbParameter);                }                using (var dataReader cmd.ExecuteReader())                {                    while (dataReader.Read())                    {                        var row new ExpandoObject() as IDictionarystring, object;                        for (var fieldCount 0; fieldCount dataReader.FieldCount; fieldCount)                        {                            row.Add(dataReader.GetName(fieldCount), dataReader[fieldCount]);                        }                        yield return row;                    }                }            }        }那么最终如上查询后返回动态集合我们该如何转换为集合对象呢我想都没想如下直接先序列化然后反序列化若您有更好的解决方案请自行实现即可。using (var ctx new EfDbContext())            {                ctx.Database.Log Console.WriteLine;                var dynamicOrders ctx.SqlQueryDynamic(select * from dbo.Orders);                var ordersJson JsonConvert.SerializeObject(dynamicOrders);                var orders JsonConvert.DeserializeObjectListOrder(ordersJson);            };当然上述我只是简单查询了一个表若您有多个表也是好使的最后反序列化为不同的对象即可未经测试您可自行测试。EF Core使用多个上下文实例池有很多人无论是在EF 6.x还是在EF Core中一直以来都是使用一个上下文但是不知我们是否有想过使用多个上下文呢比如在电商项目中对于产品相关操作我们可以使用产品上下文对于加入购物车操作使用购物车上下文对于订单操作使用订单上下文。这么做的好处是什么呢我们可以将数据库表也就说将实体拆分成不同的业务。至今我还没看到有人这么做过如果是我的话至少我会这么做。//Add DbContext            var dbConnetionString Configuration.GetConnectionString(DbConnection);            services.AddDbContextPoolShopCartDbContext(options             {                options.UseSqlServer(dbConnetionString);            }).AddDbContextPoolBookDbContext(options             {                options.UseSqlServer(dbConnetionString);            }).AddDbContextPoolOrderDbContext(options             {                options.UseSqlServer(dbConnetionString);            });在EF Core 2.0中有了上下文实例池类似于ADO.NET中的连接池一样但是这玩意你从表面理解那你就大错特错了有关上下文实例池从去年开始我着手写了一本关于EF 6.x和EF Core的书籍最近会出版实现本质只能说它和ADO.NET中的连接池不是一样的哦。那么如上述使用多个上下文实例池是否就一定好使呢不好意思这样配置是错误的。但运行程序你会发现抛出类似如下异常Exception message: System.ArgumentException: Expression of type Microsoft.EntityFrameworkCore.DbContextOptions1[MultiContext.Contexts.BContext] cannot be used for constructor parameter of type Microsoft.EntityFrameworkCore.DbContextOptions1[MultiContext.Contexts.AContext] Parameter name: arguments[0] Stack trace: ...........在此特性出来时大家都在欢呼能够提高性能对不起上下文实例池虽然可能在一定程度上提高性能但是我只能讲只能有可能的性能改进如果你知道或者看过EF Core实现上下文实例池的原理就明白了其实现的本质从而恍然大悟我所说的可能的性能上的改进是什么意思。至于为何不能注册多个上下文实例池我也是私下写项目遇见的具体请参看githubhttps://github.com/aspnet/EntityFrameworkCore/issues/9433。总结 好了今天就到这里没有过多的解释和叙述上来就是直奔主题最近思想放飞中对写博客慢慢失去了很大的兴趣偶尔感性中待我满血复活调节好心情再来和大家继续分享技术我一直在一段时间没写博客可能是因为累了又或者是私下在学习IdentityServer或者其他技术中干咱这行的除非转行那就老老实实积累经验和多学点技术吧年轻不奋斗那什么时候奋斗呢。今天说了啥胡思乱想中莫见怪。原文地址 https://www.cnblogs.com/CreateMyself/p/8921881.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.huolong8.cn/news/371890/

相关文章:

  • 唐山建设网站公司廉江网站制作
  • 怎么做单页竞价网站dede换网站
  • 动漫网站设计方案免费cms
  • 建设银行纪检监察网站免费学网页设计
  • 企业网站建设西安wordpress主题带demo
  • 上海网站建设沪icp备三亚做民宿的都用什么网站
  • 网站建设常用编程语言成都抖音代运营
  • 苏州专业高端网站建设公司哪家好湖南专业做网站公司
  • 高职图书馆网站建设大赛园林景观网站模板
  • 用win2003做网站运营招聘
  • 关注网站建设免费空间资源
  • python个人网站开发北京南站核酸检测地点
  • 制作公司网站设wordpress重置query循环
  • 网站开发环境实验报告做跨国婚恋网站赚钱吗
  • 网站运营专员做六休一中山企业网站推广公司
  • 谢岗镇仿做网站wordpress实惠主机
  • 崇仁网站建设推广费用wordpress图片自动加广告
  • o2o商城网站开发导航网站怎么做的
  • 上海seo网站优化软件app开发公司架构
  • 上海浦东建筑建设网站如何制作ppt视频教程
  • 怎么 从头开始建设一个网站最大郑州网站建设公司
  • 朔州做网站的公司wordpress上传产品
  • 设计云网站自媒体平台注册账号下载
  • 电子商务网站建设与管理的论文题目wordpress 中文水印
  • 企业网站个人可以备案吗wordpress添加快速添加按钮
  • 建网站张掖哪家强?网站建设功能覆盖范围
  • 网站建设 好成都网站建设四川冠辰科技
  • 培训网站 建湖南湘潭网站建设
  • 洛阳网站搭建淮南定制网站建设公司
  • 团队建设海报网站网站建设及售后服务的说明书