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

北京智能网站建设平台seo综合查询是什么

北京智能网站建设平台,seo综合查询是什么,汉川市建设局网站,市场营销策略都有哪些α角 与 β角支持 现实生活 的 计算机系统#xff0c;总有着两大偏差#xff0c;第一个是 现实生活 与 计算机系统 的α角#xff0c;另外一个是计算机系统的 逻辑设计 与 物理设计 的β角。举个栗子#xff1a;α角#xff1a;假设某个公司的商业流程#xff0c;我们在做… α角 与 β角支持 现实生活 的 计算机系统总有着两大偏差第一个是 现实生活 与 计算机系统 的α角另外一个是计算机系统的 逻辑设计 与 物理设计 的β角。举个栗子α角假设某个公司的商业流程我们在做计算机自动化的时候会发生某种程度的改变。可能是用了新计算机系统需要调整商业流程也可能是某些商业流程由于种种原因没有被计算机系统实现支持。。。β角这个比较常见例如某个类本身是没有什么ID之类的属性而由于我们选择了某个数据库产品来做持久化而数据表的主键用了 某某ID 这样的字段于是引致我们的 类 里面也可能会包含了 ID 这样的属性或者由于需要用 SQL Server 的 数据复制 功能从而使到我们的类加入了各种TimeStamp字段Entity Split今天我们讨论的Entity Split就是属于上述的β角。有时候由于某些原因例如 纵向切割 数据表某个 类 它被保存到超过一个的数据表中。例如我们可能有一个 Customer 类由于它的属性比较多于是为了提供系统性能我们把最常用的属性归纳到 Customers 数据表而把那些比较少用到的属性归纳到 CustomerOtherInfo 数据表等等。在用EF Core的时候我们会在DbContext.OnModelCreating方法里面用modelBuilder.EntityMyEntity().ToTable(Tablename);的做法来指定 BusinessEntity 与 数据表 的映射关系但是这个只能是Entity级别的而没有能去到 属性 级别啊 。如何才能做得到指定 “某Entity的某些属性映射到数据表A而某些其他属性映射到数据表B”这样的效果呢本篇的程序可以在 https://github.com/kentliu2007/EFCoreDemo/tree/master/EntitySplit 上下载我用的是 VS2017。建议可以下载之后对照着程序来阅读本篇数据表先来看看数据表是怎样的Clients 表的索引ClientContactInfo 表的索引外键FK_ClientContactInfo_Clients的设置如何用EF5/6实现 Entity Split首先让我们先来看看 EF5/6 是怎么实现的。如果用EF5/6的话这个很简单。因为有设计器啊TableMapping就可以轻松搞定。项目文件EF DiagramUnitTest程序看程序完全不需要考虑数据是来源于不同的两个数据表。简单吧如何用EFCore 实现 Entity Split用EF Core没有设计器怎么搞其实就算有设计器也不能和EF5/6那样的实现方式的。这里我们需要先请出 EF Core的一个重大功能 Lazy Loading。这个功能从EF Core V2 开始支持。EF Core Lazy Loading文档https://docs.microsoft.com/zh-cn/ef/core/querying/related-data#lazy-loading它有两种实现方式一种是用Microsoft.EntityFrameworkCore.Proxies包以及调用UseLazyLoadingProxies来启用这个包。并且要求类里面的NavigationProperty需要是public且virtual另外一种使用 Microsoft.EntityFrameworkCore.Abstractions 包中定义的 ILazyLoader 服务的引用。这个需要类里面做更多的特定代码来支持上述两种做法各有利弊所以我们接下来会针对两个做法都分别用一次。用它们来实现 基于 EF Core的Entity Split可行性分析通过上面分析的EFCore里面ToTable的做法我们知道实际上是真的不可避免地需要有俩 Entity 这样才可以设置它们分别映射到不同的数据表。然后因为有了Lazy Loading我们可以对 Client 这个 主类 添加引用 ClientContactInfo 类的相应的几个属性。通过玩弄getter和setter的把戏。让EFCore的Lazy Loading在getter/setter调用到ClientContactInfo的属性的时候按需装载这样又可以实现Entity Split系统性能也得到好处。用Microsoft.EntityFrameworkCore.Proxies来实现EFCore的Entity Split项目文件程序DbContextClientContactInfoClientUnitTest看上面UnitTest的程序就看出来我们程序调用Client的时候完全不需要考虑数据是来源于不同的两个数据表。Entity Split就这样搞定了。用Microsoft.EntityFrameworkCore.Proxies的缺点是我们需要有Client.ClientContactInfo这个NavigationProperty。而且还有另外一个可能的坑如果你尝试调用Client.ClientContactInfo.GetType()就知道了这个我们可以以后再特别弄个随笔来吐槽一下。接下来为了维持OOP的美式咖啡口味让我们换个Lazy Loading的实现方法。用Microsoft.EntityFrameworkCore.Abstractions来实现EFCore的Entity Split项目文件程序DbContext 这个和上面那个例子一样就不骗篇幅了大家继续参照上面那个Lazy Loading做法的贴图就好ClientContactInfo这个和上面那个例子一样就不骗篇幅了大家继续参照上面那个Lazy Loading做法的贴图就好PocoLoadingExtensions 这个是直接抄微软文档上的所以我也不骗篇幅大家直接参阅上述微软文档的内容就好。网页上查找一下PocoLoadingExtensions这个文本就能找到了Client程序里面用了一个private field来存放 ClientContactInfo的 实例然后用了一个private的ClientContactInfo的property通过继续玩弄它的getter/setter的把戏来帮忙提高程序的可维护性UnitTest这个和上面那个例子一样就不骗篇幅了大家继续参照上面那个Lazy Loading做法的贴图就好用Microsoft.EntityFrameworkCore.Abstractions的缺点是我们的类里面需要加入一些额外的程序为了支持ILazyLoader 。但是好处是Client的public属性里面再也没有ClientContactInfo这种NavigationProperty了。就真的是毫无痕迹地实现了Entity Split。结语怎么样EF Core真的很棒对吧借助Lazy Loading的功能我们花费了一些周折如此简单地实现了Entity Split。当然我本人还是希望Entity Split这个可以built-in为EF Core的一个基本功能而不是采取借助Lazy Loading这样的Walk Around做法。也许接下来的第N个版本它就会实现的。毕竟面包会有的,牛奶会有的,一切都会有的。 :-P下一篇让我们继续讨论如何借助Lazy Loading在用EF Core的Inheritance功能的时候继续保持数据表的清洁不需要有冗余的字段。敬请期待噢。 :-D相关文章Shadow Properties之美一【Microsoft Entity Framework Core随笔】Shadow Properties之美二【Microsoft Entity Framework Core随笔】“幕后英雄”之Backing Fields【Microsoft Entity Framework Core随笔】原文地址https://www.cnblogs.com/fatkent/p/10365659.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.zqtcl.cn/news/794855/

相关文章:

  • 建造网站 备案苏州手机网站设计
  • 做外贸卖小商品是哪个网站手机首页设计
  • 大连网站制作公司营销策划公司有哪些职位
  • 2019深圳网站设计公司排名网站设计的思想
  • 试客那个网站做的好seo管理平台
  • 增加网站关键词库网盟推广合作
  • 企业门户网站内容建设濮阳网络培训基地
  • 做亚马逊运营要看哪些网站免费咨询电脑问题
  • 如何用html制作网站app开发要多少钱
  • 中国搜索提交网站信息网络犯罪
  • 网站服务器做下载链接分销平台系统源码
  • 网站管理助手建站沈阳专业网站建设企业
  • 企业网站开发公司大全建筑工程培训
  • 免费网站开发模板云南省网站开发软件
  • dede小游戏php网站源码广州网站vi设计报价
  • 邯郸建设局网站资质申报wordpress 前端 插件
  • 关于asp_sql网站开发的书籍小程序跳转网页方法
  • 昆明网站开发公司电话建设手机银行的网站
  • 福州建设注册中心网站怎么做公司展示网站
  • 网络营销网站建设知识平面设计初中毕业能学吗
  • 2019销售网站开发与设计现状怎么在网上卖东西赚钱
  • 做网站前后端的发布流程如何管理wordpress网站模板下载
  • 网站历史频道怎么做网站修改标题有影响吗
  • 做自己的卡盟网站做技术一般逛那些网站
  • 网站建设自学多长时间做网站原型的软件
  • 营销型的物流网站模板北京楼市最新消息
  • 宁波模版建站公司湘潭建设网站公司
  • 世界十大网站排名出炉最新军事新闻最新消息视频
  • 医疗电子的网站建设城市建设管理
  • win10建站wordpress商城网站结算页面怎么做