请解释网站开发的主要流程.,导购网站免费推广,wordpress title修改,星空传媒有限公司网站Entity Framework Core#xff08;EF Core#xff09;是一个轻量级的#xff0c;可扩展和实体框架的跨平台版本。今天#xff0c;我们宣布 Entity Framewor Core 1.1 正式可用了。 EF Core 和 .NET Core 遵循相同的发行周期。每2个月不断的改进和每6个月的新功能发布。这是… Entity Framework CoreEF Core是一个轻量级的可扩展和实体框架的跨平台版本。今天我们宣布 Entity Framewor Core 1.1 正式可用了。 EF Core 和 .NET Core 遵循相同的发行周期。每2个月不断的改进和每6个月的新功能发布。这是自1.0的第一个功能版本。 请务必阅读位于这个帖子的末尾的升级到1.1这个章节有相关升级到1.1版本重要信息。 1.1 版本有什么 1.1版本的重点是解决人们采用EF Core 中遇到的问题。这包括修正了bug增加了一些的那些尚未在EF Core实现的重要功能。虽然我们已经取得了这方面的一些良好的进展但是我们也承认EF Core 仍然不会是对大家来说最好的选择更多详细信息可以看这篇 EF Core和EF6.x比较。 Bug修复 在1.1版本有包含超过100个bug的修复。参见 EF Core 1.1 版本说明了解更多详情。 改进LINQ翻译 在1.1版本中我们在提高Linq 对 EF Core 的支持取得了良好的进展。这使得更多的查询成功执行有更多的逻辑在数据库进行执行而不是在内存中。 DbSet.Find DbSet.Find(...)是存在于EF6.x并在 EF Core 中比较常见的一个 API。它可以让你方便地查询基于其主键值的实体。如果实体已经加载到上下文则它直接返回而不再次查询数据库。 using (var db new BloggingContext())
{ var blog db.Blogs.Find(1);
} 映射字段 新的流式API HasField(...) 方法 允许你在属性中配置一个数据库不同名字的字段。这对于只读属性是非常有用的而不是一个 get / set的属性。有关详细的指导请参阅我们的文档中的Backing Field相关文章。 public class BloggingContext : DbContext{... protected override void OnModelCreating(ModelBuilder modelBuilder) {modelBuilder.EntityBlog().Property(b b.Url).HasField(_validatedUrl);}
} 显式加载 显式加载允许您加载DBContext上下文中跟踪到的实体的导航属性里面的内容。欲了解更多信息请参见我们的文档中的加载相关数据文章。 using (var db new BloggingContext())
{ var blog db.Blogs.Find(1);db.Entry(blog).Collection(b b.Posts).Load();db.Entry(blog).Reference(b b.Author).Load();
} 从 EF6.x 增加的 EntityEntry的API 我们已经加入在EF6.x.是可用的但是还没有添加到 EF Core 中的EntityEntry的相关 API, 这包括 Reload(), GetModifiedProperties(), GetDatabaseValues()等。这些API一般通过 DbContext.Entry(object entity) 调用。 弹性连接 弹性连接将会自动重试失败的数据库命令。SQL Server提供了一个专门针对SQL Server的执行策略包括SQL Azure的。识别到异常类型可以重试并且为最大重试设置合理的默认值,重试之间的延迟等。更多信息可以在我们的文档请参阅弹性连接的文章。 其实一个就是给你的数据库上下文配置执行策略在 ASP.NET Core 应用程序中通常情况下是在 OnConfiguring方法中或者是在 Startup.cs 里面。 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){optionsBuilder.UseSqlServer( connection string,options options.EnableRetryOnFailure());
} 支持 SQL Server 内存优化表 内存优化表是SQL Server 2014 的功能。现在您可以指定一个实体映射到内存优化表。欲了解更多信息请参阅我们的文档中的内存优化表文章。 protected override void OnModelCreating(ModelBuilder modelBuilder){modelBuilder.EntityBlog().ForSqlServerIsMemoryOptimized();
} 简化 service 替换 在EF Core 1.0中你可以取代EF使用其内部服务但这是很复杂的需要你拿到 EF依赖注入容器的控制权来使用。在1.1中这个要简单得多。在配置上下文时候使用ReplaceService(...) 方法就行了。在 ASP.NET Core 应用程序中这通常是在Startup.cs 文件中的 OnConfiguring(...) 方法中。 protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){optionsBuilder.UseSqlServer(connection string);optionsBuilder.ReplaceServiceSqlServerTypeMapper, MyCustomSqlServerTypeMapper();
} 升级到1.1 如果您正在使用的EF团队提供的连接数据库的程序包(SQL Server, SQLite, InMemory)那就升级提供的程序包就行了。 PM Update-Package Microsoft.EntityFrameworkCore.SqlServer 如果您使用的是第三方数据库提供程序检查一下看看他们是否已经发布新版本它取决于1.1.0更新。如果他们有那么就升级到新版本。如果没有, 那么你应该能够升级他们依赖的EF Core Relational 组件。大部分的新特性数据库组件提供者在1.1不需要修改。我们已经做了一些测试以确保数据库提供商依赖1.0和1.1但没有做详尽的测试。 PM Update-Package Microsoft.EntityFrameworkCore.Relational 升级工具包 如果您正在使用Tools 工具包那肯定就要升级了。需要注意的是Tools版本为 1.1.0-preview4 因为Tools还没有达到其稳定版本。 PM Update-Package Microsoft.EntityFrameworkCore.Tools -Pre 如果你在使用 ASP.NET Core使用dotnet ef命令那么你需要更新 project.json 的Tools部分使用新 Microsoft.EntityFrameworkCore.Tools.DotNet 包取代 Microsoft.EntityFrameworkCore.Tools 1.0 的包。由于.NET Cli所以对我们来说分离dotnet ef到这个单独的包已经是必要的了。 jsontools: { Microsoft.EntityFrameworkCore.Tools.DotNet: 1.1.0-preview4}, 原文地址http://www.cnblogs.com/savorboard/p/efcore11-announcing.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注