我在选择适当的数据访问框架时遇到了困难,部分原因是我对我的偏好非常挑剔,主要是因为我对其中大多数人都没有太多经验: - )满足我需求的数据访问框架
我需要一个框架,让我很容易地将数据库表(SQL Server)的,我的实体之间的映射,并且将处理CRUD操作对我来说(在大多数情况下)。
- 我希望我的实体位于与DAL分开的程序集中。
- 我更喜欢使用属性来映射XML等外部文件。
- 它不一定是一个ORM,我想自己编写我的实体。
- 我不介意写存储过程。
- 该项目的数据库不会很大。少于50桌。
- 我想我的一些实体,以对应于内连接两个表 - 一个静态数据开发过程中手动输入和其他与运行时数据填充 - 不使用引用彼此(的结果,两个实体这个连接将是一个单一的实体)。
- 实体框架听起来很完美,直到我意识到它不支持枚举(然而 - 我不能等待EF 5.0)。
- 我想这些实体包括枚举,并计划使用查找表的枚举+代码生成的枚举保持它与数据库同步。
- Linq-to-SQL似乎是一个很好的候选人,但我不知道它是否符合我以前的要求。
- 使用企业库5.0 DAAB与它的RowMapper的,并延伸到执行更新和插入它的能力也是一种选择(但需要对我而言更多的代码)。
- 我计划实施存储库模式。
- NHibernate怎么样?它会吗?那里也没有任何经验。
我会很高兴地听到所有的建议..的越多越好!提前致谢!
有没有[听说过并检出了Dapper-Dot-Net?](http://code.google.com/p/dapper-dot-net/)。将“pure raw”SQL转换为.NET对象,支持存储过程以及所有你可以想到的.NET特性(我相信) – 2012-08-02 19:10:02
不错。如果我朝这个方向发展,也许我会倾向于Enterprise Library的RowMapper! – 2012-08-02 19:36:41
另请参阅:http://stackoverflow.com/questions/1377236/nhibernate-entity-framework-active-records-or-linq2sql/ – 2012-08-03 10:37:45