2012-08-02 52 views
-1


我在选择适当的数据访问框架时遇到了困难,部分原因是我对我的偏好非常挑剔,主要是因为我对其中大多数人都没有太多经验: - )满足我需求的数据访问框架

我需要一个框架,让我很容易地将数据库表(SQL Server)的,我的实体之间的映射,并且将处理CRUD操作对我来说(在大多数情况下)。

  • 我希望我的实体位于与DAL分开的程序集中。
  • 我更喜欢使用属性来映射XML等外部文件。
  • 它不一定是一个ORM,我想自己编写我的实体。
  • 我不介意写存储过程。
  • 该项目的数据库不会很大。少于50桌。
  • 我想我的一些实体,以对应于内连接两个表 - 一个静态数据开发过程中手动输入和其他与运行时数据填充 - 不使用引用彼此(的结果,两个实体这个连接将是一个单一的实体)。
  • 实体框架听起来很完美,直到我意识到它不支持枚举(然而 - 我不能等待EF 5.0)。
  • 我想这些实体包括枚举,并计划使用查找表的枚举+代码生成的枚举保持它与数据库同步。
  • Linq-to-SQL似乎是一个很好的候选人,但我不知道它是否符合我以前的要求。
  • 使用企业库5.0 DAAB与它的RowMapper的,并延伸到执行更新和插入它的能力也是一种选择(但需要对我而言更多的代码)。
  • 我计划实施存储库模式。
  • NHibernate怎么样?它会吗?那里也没有任何经验。

我会很高兴地听到所有的建议..的越多越好!提前致谢!

+3

有没有[听说过并检出了Dapper-Dot-Net?](http://code.google.com/p/dapper-dot-net/)。将“pure raw”SQL转换为.NET对象,支持存储过程以及所有你可以想到的.NET特性(我相信) – 2012-08-02 19:10:02

+1

不错。如果我朝这个方向发展,也许我会倾向于Enterprise Library的RowMapper! – 2012-08-02 19:36:41

+1

另请参阅:http://stackoverflow.com/questions/1377236/nhibernate-entity-framework-active-records-or-linq2sql/ – 2012-08-03 10:37:45

回答

3

我认为NHibernate的是要走的路,但也有一些它的主要优势(ORM,存储过程产生,等等),你列为非要求的东西。无论如何,nHibernate会做你想做的所有事情。从技术上讲,它使用xml映射,但可以使用流畅属性映射轻松地自动生成这些映射。我喜欢这一点,因为它是为你做的,但你也可以自定义,以防万一你需要它。祝你好运!

+0

downvoter谨慎解释?我不确定我是否遇到过不推荐NHibernate的人.. – 2012-08-02 19:38:46

相关问题