3

我正在查看一个项目,其中客户拥有一个带有大量 sps(大约 250 个)的遗留数据库(MS SQL)。我需要能够与我的 C# 项目中的所有这些对话,但我需要找到一种生成尽可能多的管道的好方法。

我不确定我是否应该使用 ORM 或一些代码生成工具?优点和缺点?我看过实体框架,它能够将复杂类型用作强类型模型,但我宁愿有一个 poco 模型并以某种方式填充我的对象。似乎 miniORM 喜欢 ie。PetaPoco 可能是要走的路吗?

有人对此问题有任何提示和想法要分享吗?

4

2 回答 2

0

您将需要一个执行反向存储过程映射的 ORM,例如Telerik 的 OpenAccess ORM

Telerik OpenAccess ORM 提供了导入和使用数据库中已经存在的存储过程的能力。它们可以映射到静态方法或在内部用于替换默认的写入操作并实现自定义逻辑。

Telerik OpenAccess现在是免费的。我猜他们意识到当有这么多免费的替代品(如 nHibernate)可用时,他们无法出售 ORM。


如果您正在寻找可以映射存储过程的轻量级替代方案,请尝试 Sam Saffron 的 Dapper。Dapper 是 Stack Overflow 的驱动力。

https://stackoverflow.com/a/6645870
http://code.google.com/p/dapper-dot-net/

于 2012-07-16T21:34:47.157 回答
0

PetaPoco 适用于存储过程。

如果你愿意,我可以用 T4 模板编写一个 Stored Proc 映射器。

您使用 PetaPoco 获得的模板(至少在我上次查看时)没有映射存储的过程。

您可能可以编辑此处使用的模板:

刚刚看到您对调用 petapoco 存储过程的方式的评论,这是真的……我只将它与 MSSQL 一起使用过,所以可能是我那里的一个站点。

于 2012-07-16T22:00:48.843 回答