实体框架 6.0:异步、IQueryable操作符和特性改进
据微软所说,实体框架 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项目的基本步骤大致如下:
- 用msbuild编译NuGet目录中的Nuget.proj文件
- 把NuGet\bin\debug目录添加为自定义本地NuGet资源库
- 通过NuGet添加对Entity Framework 6的引用
微软计划为实体框架 6.0发布两个独立的程序集,一个用于.NET Framework 4.5具备上文讨论的所有特性,另外一个用于.NET Framework 4.0没有async关键字的支持。