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

爱站网怎么打不开中国城乡与建设部网站

爱站网怎么打不开,中国城乡与建设部网站,手机端企业网站源码,创客oa管理系统前言很长一段时间没有写博客了#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.zqtcl.cn/news/476056/

相关文章:

  • 织梦 做网站 知乎系统优化软件推荐
  • 长沙网站制作哪家强网站后台是怎么做的
  • Linux网站开发设计做ppt网站动态
  • 西部中大建设集团网站微商代理网
  • 做网站的参考文献有哪些火车头采集 wordpress
  • 网站不备案会有什么影响最新企业名录搜索软件
  • 邯郸做网站公司哪家好优化设计四年级下册数学答案
  • wordpress企业建站模版wordpress门户网站模板
  • 网站建设时间及简介企业注册代理
  • 网站首页制作方案wordpress中常用插件安装包
  • 阿里云建立网站赤坎网站建设公司
  • 时光轴 网站小公司做网站赚钱吗
  • 手机管理网站模板乐山住房和城乡建设厅网站
  • wordpress链接样式设置方法网络seo推广培训
  • 建站系统wordpress下载企业网站建设课程体会
  • 网站资源规划怎么写wordpress怎么解绑域名
  • 建湖企业做网站多少钱网页开发工具软件
  • WordPress怎么建小站wordpress替换谷歌字体库
  • ps建设网站步骤佛山做外贸网站特色
  • 杭州做代发的网站有哪些计算机基础网站建设和网络安全
  • 做汽配外贸是在哪个网站做山东百度推广
  • 网站类型大全cms监控软件下载官网
  • 网站设计制作 建网站免费asp地方门户网站系统
  • 凡科网做的网站保存后就上传了吗东莞网站推广建设
  • 网站推广案例闲鱼上做网站
  • 网站 做购物车分类信息网站建设系统
  • 网站做弹窗坂田建设网站
  • 北仑网站推广保险网站建设
  • 文山城乡建设部网站首页个人网站怎么注册
  • 西安企业建站wordpress外部调用后台