我在选择合适的数据访问框架时遇到了麻烦,部分原因是我对自己的偏好非常挑剔,主要是因为我对它们中的大多数都没有太多经验:-)
我需要一个框架,让我可以轻松地在数据库表(SQL Server)和我的实体之间进行映射,并为我处理 CRUD 操作(大部分情况下)。
- 我希望我的实体驻留在与我的 DAL 不同的程序集中。
- 我更喜欢在 XML 等外部文件上使用属性进行映射。
- 它不一定是 ORM,我想自己编码我的实体。
- 我不介意编写存储过程。
- 该项目的数据库不会很大。不到50张桌子。
- 我希望我的一些实体对应于两个表的内部连接 - 一个用于在开发期间手动输入的静态数据,另一个用于在运行时填充的数据 - 不使用相互引用的两个实体(此连接的结果将是一个单一的实体)。
- Entity Framework 听起来很完美,直到我意识到它不支持 Enums(但是 - 我等不及 EF 5.0)。
- 我希望这些实体包含枚举,并计划使用枚举的查找表 + 枚举的代码生成,以使其与数据库保持同步。
- Linq-to-SQL 似乎是一个不错的选择,但我不知道它是否能很好地满足我之前的需求。
- 将 Enterprise Library 5.0 DAAB 与它的 RowMapper 一起使用,并扩展其执行更新和插入的能力也是一种选择(但我需要更多的编码)。
- 我计划实施存储库模式。
- NHibernate 怎么样?会吗?那里也没有经验。
我很高兴听到所有的建议……越多越好!提前致谢!