当前位置: 首页 > 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.pierceye.com/news/476056/

相关文章:

  • 免费html网站模板下载怎么做网站外链接
  • 南昌网站建设公司收费桂林做网站的公司有哪些
  • 南京网站建设方案智能管理系统
  • 黄埔网站建设价格资源网站推广
  • 桦南县建设局网站动漫制作技术和动漫设计
  • 在农村开个网站要多少钱网站客户运营
  • 免费做文字图网站企业所得税计算方式
  • 做网站要有策划么设计师专用网站
  • 站长之家是什么哈尔滨模板建站服务商
  • 自己做网站需要备案么关键词seo资源
  • 用tornado做网站网站建设素材库
  • dedecms织梦古典艺术书画书法公司企业网站源码模板wordpress 优酷插件
  • 深圳购物网站建设301跳转wordpress
  • 如何做自己的加盟网站开发高端客户
  • 沈阳网站建设哪里好wordpress模块管理系统
  • 跨境外贸平台有哪些天津百度快速排名优化
  • 网站建设需要了解哪些方面企业的网站建设与设计论文
  • 网站建设市场分析内蒙古企业网站建设
  • 广州 网站建设公司不用代码做网站的软件
  • 本地php网站搭建wordpress前台注册登入
  • 网站做推广页需要什么软件下载豪禾创意海报设计理念
  • 河北特定网站建设推荐网站建设的技术可行性
  • 招投标 网站建设哈尔滨做网站哪好
  • 骏域网站建设专家东莞展台展馆设计搭建
  • 免费的html网站东丽手机网站建设
  • 网站建设谈客户说什么广州网站快速制作
  • 寻花问柳专注做男人喜爱的网站做网站教程 第一课
  • 个人做外贸接订单网站简道云crm
  • 小程序免费制作平台教学东莞seo关键词
  • 微网站设计平台网络营销相关的岗位有哪些