实体框架 6.0:异步、IQueryable 操作符和特性改进

  • Anand Narayanaswamy
  • 朱永光

2012 年 9 月 16 日

话题:.NET微软语言 & 开发

据微软所说,实体框架 6.0将提供对async关键字的支持,可以通过 SaveChangesAsync() 或 ExecuteSqlCommandAsync() 方法来实现。

OdeToCode 的首席咨询师 Scott Allen,通过对实体框架项目网站中获取的源代码进行剖析,研究了async 的实现方式

实体框架 6.0 也能让开发人员通过使用 FindAsync() 和 SingleAsync() 方法,来在 IQueryable(IQueryable<T>)操作符上执行异步操作。而且,也能够利用 ToListAsync() 来真正执行上述代码。

“新的 IQueryable 操作符是一个能够得到具体结果的新版本”,Scott 如是说。

实体框架 6.0 藉由编写自定义转换的能力,将为存储过程映射和数据库函数提供支持,这些支持也会出现在代码优先(Code First)功能中。

要执行实体框架 6.0 项目的基本步骤大致如下:

  1. 用 msbuild 编译 NuGet 目录中的 Nuget.proj 文件
  2. 把 NuGet\bin\debug 目录添加为自定义本地 NuGet 资源库
  3. 通过 NuGet 添加对 Entity Framework 6 的引用

微软计划为实体框架 6.0 发布两个独立的程序集,一个用于.NET Framework 4.5 具备上文讨论的所有特性,另外一个用于.NET Framework 4.0 没有 async 关键字的支持。

.NET微软语言 & 开发