-1


我在选择合适的数据访问框架时遇到了麻烦,部分原因是我对自己的偏好非常挑剔,主要是因为我对它们中的大多数都没有太多经验:-)

我需要一个框架,让我可以轻松地在数据库表(SQL Server)和我的实体之间进行映射,并为我处理 CRUD 操作(大部分情况下)。

  • 我希望我的实体驻留在与我的 DAL 不同的程序集中。
  • 我更喜欢在 XML 等外部文件上使用属性进行映射。
  • 它不一定是 ORM,我想自己编码我的实体。
  • 我不介意编写存储过程。
  • 该项目的数据库不会很大。不到50张桌子。
  • 我希望我的一些实体对应于两个表的内部连接 ​​- 一个用于在开发期间手动输入的静态数据,另一个用于在运行时填充的数据 - 不使用相互引用的两个实体(此连接的结果将是一个单一的实体)。
  • Entity Framework 听起来很完美,直到我意识到它不支持 Enums(但是 - 我等不及 EF 5.0)。
  • 我希望这些实体包含枚举,并计划使用枚举的查找表 + 枚举的代码生成,以使其与数据库保持同步。
  • Linq-to-SQL 似乎是一个不错的选择,但我不知道它是否能很好地满足我之前的需求。
  • 将 Enterprise Library 5.0 DAAB 与它的 RowMapper 一起使用,并扩展其执行更新和插入的能力也是一种选择(但我需要更多的编码)。
  • 我计划实施存储库模式。
  • NHibernate 怎么样?会吗?那里也没有经验。

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

4

1 回答 1

3

我认为 nHibernate 是要走的路,尽管它的一些主要优势(ORM、存储过程生成等)是您列为非要求的东西。无论如何,nHibernate 会做你想做的一切。从技术上讲,它确实使用了 xml 映射,但是这些可以很容易地使用流畅的属性映射自动生成。我喜欢这个,因为它是为您完成的,但是您也可以进行自定义以防万一。祝你好运!

于 2012-08-02T19:14:02.540 回答