微软发布最新的ef 6.2 beta 1 -凯发k8国际

0顶
1踩

微软发布最新的ef 6.2 beta 1

2017-05-31 17:39 by 正式记者 评论(0) 有4320人浏览

英文原文:

 

5 月初,.net 团队发布了一个 core 2.0 实体框架的预览版本,这是 ef 对于 .net core 和 .net framework 的轻量级、可扩展和跨平台的版本。

 

5 月 23 日,entity framework runtime 和相应的 visual studio 工具的 6.2 beta 版本已经可用了。ef 6.2 是 microsoft 更传统的对象/.net framework 关系映射器的新迭代。

  

将应用程序升级到 ef 6.2 beta 1 runtime

通常情况下,nuget 会提供 ef 6 runtime 的预发行版本。在 visual studio 中,可以通过“manage nuget packages”窗口(确保“include prerelease”选项被选中)或“package manager console”中的 nuget 命令,实现应用程序中 ef 软件包的安装或更新。

 

例如,更新现有项目中的 beta 包:

pm> update-package entityframework -version 6.2.0-beta1 -pre

在新项目中安装 beta 包:

pm> install-package entityframework -version 6.2.0-beta1 -pre

  

升级 visual studio 中的 ef 工具

用户可以从 microsoft 下载中心获取安装程序。只需要下载并安装与正在使用的 visual studio 版本对应的文件即可。

 

目前支持 visual studio 2012、2013 和 2015。请注意,目前并没有为 visual studio 2017 提供测试版的 ef 工具。因为 visual studio2017 需要使用不同的机制来将更新分发给 ef 工具这样的组件,.net 团队计划稍后提供更新日期。

 

ef 工具的大部分代码是跨 visual studio 版本共享的,因此任何版本的测试都有助于验证 beta 版的质量。

 

如果用户只安装了 visual studio 2017,仍然可以将应用程序升级到使用 6.2 beta 1 版本的 ef runtime,同时继续使用 visual studio 中包含的 ef 工具。

  

降低 visual studio 中的 ef 工具

当用户安装此测试版时,它会替换掉 visual studio 中包含的工具或安装的任何先前版本。如果用户在使用此测试版过程中,遇到任何问题, visual studio 附带的工具可以将工具还原到之前的版本。可以按照以下步骤进行操作:

  • 使用“添加/删除程序”,卸载 visual studio 的实体框架工具

  • 修复 visual studio 安装

  

ef 6.2 beta 1 中有什么新功能?

虽然 ef 团队的重点工作是为 ef core 增加新功能和改进,但是也计划继续修复一些重要 bug,实施小型改进,并接受社区对 ef 6 代码库的贡献。

 

社区的开源贡献者为 ef 6.2 beta 1 版本的许多提升做出的巨大贡献,在此表示感谢。此版本的完整列表(包括即将推出的 powertools 版本中的错误修复)可在 github query 中找到。

  

新功能中值得一提的有以下几点:

  • 通过从永久缓存#275 中加载第一个模型的完成代码来减少启动时间

  可以通过将以下代码加入到应用中来实现该功能:

using system.data.entity;
using system.data.entity.infrastructure;
namespace myapplication
{
    public class mydbconfiguration : dbconfiguration
    {
        public mydbconfiguration () : base()
        {
            this.setmodelstore (new defaultdbmodelstore (directory.getcurrentdirectory ())); 
        }
    }
}
  • 提供程序报告无效键时 ef 工具更新模型的问题#243

  在某些数据库逆向工程场景中,某些提供程序可能会错误地指示主键列为空。ef 工具不再将其报告为错误,而是会忽略不正确的可空性。

  • 添加 dbfunctions.like(),使得可以在 sql 中编写转换为 like 的 linq 查询#241

  用法如下:

var  query = db.people.where(p=> dbfunctions.like(p.name,“w%”));

  • migrate.exe 支持 support -选项#240

  启用使用命令行工具生成用于迁移的 sql 脚本。

  • 使用参数过多时,从数据库更新大型模型可能导致 sp_executesql 失败#185

  这是与 sql server 大数据模型配合使用的长期问题。有关详细信息,请参阅“”。

  • ef6 不能与序列主键一起使用#165

  现在可以采用与序列兼容的机制,在 runtime 使用标志来更改 ef 检索插入 sql serer 的生成值:

  • 更新 sql azure 执行策略错误号#83

  将额外的错误纳入到临时性错误列表,以便能够根据客户反馈和 azure sql 数据库上的新数据进行恢复。

  • 使用“the sqlparameter is already contained by another sqlparametercollection”命令重试查询或 sql 命令失败#81

  在使用重试执行策略时,该问题会影响多个 api。

  • 调试器中 dbquery.tostring()的评估经常会超时#73

  根据 debugger 团队的建议,.net 团队添加了一个新的 sql 属性,以便在诸如 autos,locals 或 watch 之类的调试窗口中 linq 查询被检查时使用。仍然可以使用`tostring()方法来获取 sql,但调试器已经不会使用了。

  

为 provider 提供 call to action

.net 团队怀疑一些现有的 ef provider 可能会受到此版本中工具包含的修复的不利影响,因此请求 provider 的帮助来验证这一假设。

该修复程序解决了 ef 工具的“update model from database”功能中使用模式发现查询长期存在的问题。对具有大量对象的数据库使用该功能时,模式发现查询可能会包含大量参数。特别是 sql server 对每个查询的参数限制为 2100,生成查询和参数的方式可能导致任何超过 300 个对象的模型失败。github 问题更详细地描述了此问题:使用过多参数,从数据库更新大型模型可能导致 sp_executesql 失败#185。

  

有哪些改变

@bengutt 基于原有的想法并实现了这个修复程序,通过对每一个不同值使用重复利用参数对象,实现了模式发现查询所需参数的显著减少了。

 

该修复程序是在跨 provider 和所有当前和以前的 ef 版本中,使用共享代码实现的,这也可能会使非 sql server 的 provider 获益。因此希望尽可能多的 provider 使用此新版本。但是,如果对某些 provider 是破坏性的改变,那么将终止将 sql server 视作特殊案例的情况。

  

provider 会受到什么影响

任何利用 ef 查询功能来实现模式发现的 provider 都会受到影响。例如通过在数据库模式中提供自己的 ssdl 和 msl 模型文件,只能受益于或不受参数数量的减少的影响。

 

然而,一些 provider 通过模式发现查询中的模式匹配来实现模式发现,然后将这些模式转化成原生模式发现 api 的调用。这样的提供者需要实现一些逻辑来将查询参数与查询中的过滤器相匹配。根据后一个实现方式的不同,如果参数的数量或顺序会随着修复程序改变,则可能会中断此参数。

  

如果你的 provider 因为修复而损坏,请报告

如果你的 provider 已损坏,请在 call to action for provider writers: test compatibility with schema discovery queries in ef tools 6.2 地 github 问题下留言。#195

  

beta 1 之后是什么?

.net 团队计划短期内在 ef 6 方面做下几件事情:

  • 正在考虑使用 visual studio 2017 的兼容性来发布一个 ef 6 powertools 的更新。

  • 一旦 .net 团队收到并分析了 beta 版本的反馈,将决定是否需要发布另外一个预览版本,还是设定好 6.2 版本的最终发布日期。

  • 如前所述,.net 团队将在后续发布 visual studio 2017 的 ef 6.2 工具。

目前已有很多产品支持 ef,其中值得一提的是 ,componentone 基于 ef6 的版本能够帮助用户充分发掘 ef6 的潜力并使其在 winforms 应用中更加易用。

 

关于葡萄城
葡萄城是全球最大的控件提供商,世界领先的企业应用定制工具、企业报表和商业智能凯发k8国际娱乐官网入口的解决方案提供商,为超过75%的全球财富500强企业提供服务。
转载请注明出自:葡萄城控件
来自:
0
1
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 5 月初,.net 团队发布了一个 core 2.0 实体框架的预览版本,这是 ef 对于 .net core 和 .net framework 的轻量级、可扩展和跨平台的版本。 5 月 23 日,entity framework runtime 和相应的 visual studio 工具的 ...

  • 1. 面向对象都有哪些特性以及你对这些特性的理解 21 2. 访问权限修饰符public、private、protected, 以及不写(默认)时的区别(2017-11-12) 22 3. 如何理解clone对象 22 二、javase语法(2017-11-12-wl) ...

  • 文章目录手把手教你搭建kubernetes集群(含脚本/视频)一、 环境准备1. 1 机器环境1.2 设置主机别名1.3 服务器静态ip配置1.4 查看主机名1.5 配置ip host映射关系1.6 安装依赖环境1.7 防火墙配置1.8 关闭selinux1.9 ...

  • 1. 数据库的基本概念 1.1 什么是数据库 数据库(database) 就是存储和管理数据的仓库 其本质是一个文件系统, 还是以文件的方式,将数据保存在电脑上 1.2 为什么使用数据库 数据存储方式的比较 存储方式 ...

  • 覆盖.net ,asp.net等内容: .net free ebook/guide on ‘.net microservices – architecture for containerized .net applications’ 链接:https://blogs.msdn.microsoft.com/cesardelatorre/2017/05/10/free-...

  • 因为发起人大boss :miguel de lcaza 是西班牙人,喜欢猴子.........这篇博客《mono在国内的发展历程(相关文章汇总)》,2000年8月,微软、惠普和英特尔共同制定cli和c#编程语言的标准规格,微软在2001年把...

  • taskrole_name: taskrole fc_taskrole_uid: cb7d2180-42f7-11ee-afe1-3e7a5abc8c82 fc_task_attempt_id: 0 fc_task_index: 0 fc_task_uid: cb7d21aa-42f7-11ee-afe1-3e7a5abc8c82 container.apparmor.security.beta....

  • 目录 第0章 让我们谈谈学习方法和红帽系统。 11 0.1 本书作者简介 11 0.2 学习是件苦差 11 0.3 开源共享精神 12 0.4 为什么要学linux? 12 0.5 热门的开源系统 13 0.6 认识红帽认证 14 第1章 部署虚拟环境安装linux...1

  • 2009年,mono最新版本mono 2.6,monnodevelop发布了2.0,同时moonlight 1.0也发布了,微软的asp.net mvc 1.0也开源了,可以在mono上跑了,微软已经开源了不少项目:asp.net mvc ,net dynamic language runtime (dlr)...

  • 1.microsoft .net framework 4 框架 <br />参考http://msdn.microsoft.com/en-us/library/ms171868(vs.100).aspx <br />1.1.microsoft .net framework 4 client profile <br />这是个好东东,...

  • 【装机精品 白金品质】 云帆技术 ghost xp sp3 完美装机专业版 v2.5软件名称: yf_ghostxpsp3_ntfs_v2.5.iso软件大小: 693mbcrc32: 15a27980md5: b4b24c91cf56dcf13d72ef60dd5e2becsha-1: 71beba553b5a0e6f69d1950cd...

  • 一、 前言 一致的命名模式是托管类库中可预知性与可发现性最重要的元素之一。对这些命名指南广泛的使用和理解将...二.1 大写样式 使用下面的三种大写标识符约定。 二.1.1 pascal 大小写 将标识符的首字母和后面连接

  • 1. 什么是 docker? docker 是以 「docker 容器」为资源分割和调度的基本单位,封装整个软件运行时环境,为开发者和系统管理员设计的,用于构建、发布和运行分布式应用的平台。它是一个跨平台、可移植并且简单易用的...

  • java coder 常用软件下载地址发表:不详 阅读: 607次 关键字: 字体:[大 中 小] 本文章转自源码天空,凯发k8国际的版权归作者所有( 最后更新: 2004-06-20 05:59:00 ) 1. 工具类. qq2004http:// msn messager 6.2 f

  • 管理系统是一种通过计算机技术实现的用于组织、监控和控制各种活动的软件系统。这些系统通常被设计用来提高效率、减少错误、加强安全性,同时提供数据和信息支持。以下是一些常见类型的管理系统: 学校管理系统: 用于学校或教育机构的学生信息、教职员工信息、课程管理、成绩记录、考勤管理等。学校管理系统帮助提高学校的组织效率和信息管理水平。 人力资源管理系统(hrm): 用于处理组织内的人事信息,包括员工招聘、培训记录、薪资管理、绩效评估等。hrm系统有助于企业更有效地管理人力资源,提高员工的工作效率和满意度。 库存管理系统: 用于追踪和管理商品或原材料的库存。这种系统可以帮助企业避免库存过剩或不足的问题,提高供应链的效率。 客户关系管理系统(crm): 用于管理与客户之间的关系,包括客户信息、沟通记录、销售机会跟踪等。crm系统有助于企业更好地理解客户需求,提高客户满意度和保留率。 医院管理系统: 用于管理医院或医疗机构的患者信息、医生排班、药品库存等。这种系统可以提高医疗服务的质量和效率。 财务管理系统: 用于记录和管理组织的财务信息,包括会计凭证、财务报表、预算管理等。财务管理系统

  • gb2312字符集 作用:国家简体中文字符集,兼容ascii。 位数:使用2个字节表示,能表示7445个符号,包括6763个汉字,几乎覆盖所有高频率汉字。 范围:高字节从a1到f7, 低字节从a1到fe。将高字节和低字节分别加上0xa0即可得到编码。 gbk字符集 作用:它是gb2312的扩展,加入对繁体字的支持,兼容gb2312。 位数:使用2个字节表示,可表示21886个字符。 范围:高字节从81到fe,低字节从40到fe。 gb18030字符集 作用:它解决了中文、日文、朝鲜语等的编码,兼容gbk。 位数:它采用变字节表示(1 ascii,2,4字节)。可表示27484个文字。 范围:1字节从00到7f; 2字节高字节从81到fe,低字节从40到7e和80到fe;4字节第一三字节从81到fe,第二四字节从30到39。

  • 毕业设计,安卓app,基于java开发的学生成绩课件管理系统app,包括pc端和安卓anroid手机app,内含java完整源码 安卓andriod学生成绩课件管理系统 系统开发环境: windows myclipse(服务器端) eclipse(手机客户端) mysql数据库 服务器也可以用eclipse或者idea等工具,客户端也可以采用android studio工具! 系统客户端和服务器端架构技术: 界面层,业务逻辑层,数据层3层分离技术,mvc设计思想! 服务器和客户端数据通信格式:json格式,采用servlet方式 【服务器端采用ssh框架,请自己启动tomcat服务器,hibernate会自动生成数据库表的哈!】 hibernate生成数据库表后,只需要在admin管理员表中加个测试账号密码就可以登录后台了哈! 下面是数据库的字段说明: 班级: 班级编号,班级名称,开办日期,班主任 学生: 学号,登录密码,所在班级,姓名,性别,出生日期,学生照片,联系电话,家庭地址 老师: 教师编号,登录密码,姓名,性别,出生日期,联系电话,邮件,地址,

  • 管理系统是一种通过计算机技术实现的用于组织、监控和控制各种活动的软件系统。这些系统通常被设计用来提高效率、减少错误、加强安全性,同时提供数据和信息支持。以下是一些常见类型的管理系统: 学校管理系统: 用于学校或教育机构的学生信息、教职员工信息、课程管理、成绩记录、考勤管理等。学校管理系统帮助提高学校的组织效率和信息管理水平。 人力资源管理系统(hrm): 用于处理组织内的人事信息,包括员工招聘、培训记录、薪资管理、绩效评估等。hrm系统有助于企业更有效地管理人力资源,提高员工的工作效率和满意度。 库存管理系统: 用于追踪和管理商品或原材料的库存。这种系统可以帮助企业避免库存过剩或不足的问题,提高供应链的效率。 客户关系管理系统(crm): 用于管理与客户之间的关系,包括客户信息、沟通记录、销售机会跟踪等。crm系统有助于企业更好地理解客户需求,提高客户满意度和保留率。 医院管理系统: 用于管理医院或医疗机构的患者信息、医生排班、药品库存等。这种系统可以提高医疗服务的质量和效率。 财务管理系统: 用于记录和管理组织的财务信息,包括会计凭证、财务报表、预算管理等。财务管理系统

  • 软件开发设计:php、qt、应用软件开发、系统软件开发、移动应用开发、网站开发c 、java、python、web、c#等语言的项目开发与学习资料 硬件与设备:单片机、eda、proteus、rtos、包括计算机硬件、服务器、网络设备、存储设备、移动设备等 操作系统:linux、ios、树莓派、安卓开发、微机操作系统、网络操作系统、分布式操作系统等。此外,还有嵌入式操作系统、智能操作系统等。 网络与通信:数据传输、信号处理、网络协议、网络与通信硬件、网络安全网络与通信是一个非常广泛的领域,它涉及到计算机科学、电子工程、数学等多个学科的知识。 云计算与大数据:数据集、包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。

  • 企业定价策略分销策略与促销策略.docx

global site tag (gtag.js) - google analytics
网站地图