我们有一个使用多个数据库的大型Web应用程序(目前都是MS SQL Server 2008 R2)。这个应用程序大约有7年的历史,是围绕EntitySpaces框架构建的。它目前正在使用此框架的2009版本,在C#中使用.NET编写并针对.NET 3.5
现在ES不再存在,我们需要将其更改为其他内容,并且在决定使用什么时遇到问题。
我们的数据库架构非常成熟,非常适合我们。该应用程序安装在英国的80多个站点中。
理想情况下,我们想要一个类似的ORM工具,我们可以指向现有的数据库模式并生成业务和数据访问层类。如果有必要,我们不介意更新到更高的.NET框架。
我们的应用程序使用Entityspaces对象并调用一些存储过程来提供报告功能。这是我们无法改变的,因此调用参数化存储过程的能力是必不可少的。
我的问题是 - 有没有人有这方面的经验,任何人都可以推荐使用任何工具来试用吗?
提前致谢, 安迪
答案 0 :(得分:1)
实体框架将是微软自己的ORM的明显选择。它肯定支持映射到存储过程,并从数据库生成模型(在EF用语中称为“数据库优先”)。
你提到你使用多个数据库 - 这会使事情变得更复杂(在任何ORM中) - 作为一个建议,在EF中创建多个模型绝对没有错,特别是如果你用你的{{{ 3}}
Julie Lerman的书可能是学习EF的最佳资源:bounded contexts
答案 1 :(得分:0)
我已广泛使用CodeSmith,并且可以高度推荐它:http://www.codesmithtools.com
我使用Codesmith几年,使用CSLA.NET框架创建我自己的实现,但是现在我使用T4模板和实体框架,这非常有效。 如果你想使用EF和Codesmith,如果你想根据你自己的架构或类似于ES的东西构建你自己的ORM,我会推荐使用EF和T4模板。
答案 2 :(得分:0)
我明确建议您查看ServiceStack.OrmLite!
它完全符合您的需求,因为它将POCO类1:1映射到RDBMS表。
它允许您调用存储过程,附带T4模板来帮助您使用代码生成部分,它非常简单且非常快!