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

建设银行春招报名网站杭州seo软件

建设银行春招报名网站,杭州seo软件,江苏做网站的公司有哪些,爱趣网前言很长一段时间没有写博客了#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/578189/

相关文章:

  • 沈阳网站建设tlmh室内设计装修案例
  • 网站 linux 服务器配置长沙企业网站建设价格
  • 低价网站制作企业智慧团建官网登录口手机版
  • 临沂网站制作专业如何 做网站
  • 旅游景区网站开发的政策可行性天翼云电脑免费领取
  • 企业网站建设报价做网站要实名认证吗
  • 设计网站得多少钱ui设计师个人简历
  • 彩票网站建设基本流程wordpress上篇下篇代码
  • 一站式服务的优点无锡网站搜索优化
  • 怎么做地区网站烟台网站建设首推企汇互联见效付款
  • 杭州网站优化服务网站内容方案
  • 大气手机网站模板免费下载军事网站模板下载
  • 大兴德艺网站建设wordpress上传的gif图不会动
  • 三门峡住房和建设局网站房产主题wordpress
  • 网站改版 权重php做网站脑图
  • 交易网站建设需要学什么网店装修
  • 青岛市城市建设档案馆网站东莞网络推广优化排名
  • 成交型网站做网站优化的价格
  • 后台网站设计烟台优化网站公司
  • 网站开发中涉及的侵权行为软件开发案例展示
  • 网站开发u盘128够吗网络服务器是指什么
  • 网站空间试用百度搜索引擎关键词优化
  • 中山品牌网站设计阿里云企业网站怎么建设
  • 做网站推广广告房地产行业网站开发
  • 济宁网站建设 企业谷wordpress手机 不适应
  • 如何用php做网站合肥专业手机网站哪家好
  • 如何推广自己的网站和产品如何用dw做网站地图
  • 株洲有名的网站重庆市公路建设信息网官网
  • 网站安全证书出错怎么做dw网页制作素材网站
  • 收录查询 站长工具给网站做解答是干嘛的