Eri*_*c P 8 entity-framework entity-framework-4.1
我有一个Web应用程序:
该项目目前正在使用Ad-Hoc Sql,它是由自定义ORM解决方案生成的.我不打算支持自定义ORM(缺少很多高级功能),而是考虑切换到Entity Framework.
我在一个较小的项目上使用了EF 4.1(Code-First)并且它工作得很好,但它是否可以扩展到上面一个更大的项目?
我(非常)同意marvelTracker(和Ayende的)的想法.
以下是一些进一步的信息:
关键战略
将GUID用作主键时,存在众所周知的成本.它由Jimmy Nilsson描述,并已在http://www.informit.com/articles/article.aspx?p=25862公开发布.NHibernate支持GUIDCOMB主键策略.但是,要在EntityFramework中实现这一点有点棘手,需要额外的步骤.
枚举
EntityFramework本身不支持枚举.直到六月CTP增加对Enums的支持http://blogs.msdn.com/b/adonet/archive/2011/06/30/walkthrough-enums-june-ctp.aspx映射枚举的唯一方法是使用变通方法请查看at:如何使用实体框架中的枚举?
查询:
NHibernate提供了许多查询数据的方法:
ISession的QueryOver:
// Query that depends on a session:
premises = session.QueryOver<Premise>().List();
Run Code Online (Sandbox Code Playgroud)
分离的QueryOver:
// Full reusable query!
var query = QueryOver.Of<Premise>();
// Then later, in some other part of ther application:
premises = query.GetExecutableQueryOver(session).List(); // Could pass IStateleSession too.
Run Code Online (Sandbox Code Playgroud)
开源
NHibernate在http://sourceforge.net/projects/nhcontrib/上提供了很多贡献项目.
这个项目为NHibernate(以及其他)提供了许多非常有用的扩展:
支持
EntityFramework附带Microsoft支持.NHibernate有一个活跃的社区:
另外,请查看:http: //www.infoq.com/news/2010/01/Comparing-NHibernate-EF-4
归档时间: |
|
查看次数: |
3536 次 |
最近记录: |