ORM建议 - 与Sprocs

时间:2009-03-13 16:41:24

标签: .net

好的,我有一个我知道非常自以为是的问题(基于我读过的所有帖子),但我需要帮助。简而言之,过去几年我一直使用以下模型进行数据访问。

数据库 - > Sprocs-> XSD(类型化数据集,拖放sproc in.net) - >在DAL项目中,使函数调用XSD创建的方法,加载所有数据,然后映射到项目业务对象。

这个的优点:

1)轻松拖放以创建SQL调用

2)Sprocs几乎是由于其他限制因素而且很容易添加

3)Project使用适合解决方案而不是数据库的自有Business对象,我只是将它们映射到C#

4)代码映射,易于重构

5)谁不喜欢所有要输入和智能化的内容

缺点: 1)慢慢建立

2)缓慢提取数据(表适配器和数据集与datareader相比性能不佳)

3)涉及零值的Buggy。男孩可以把这个垃圾变成马车,这浪费了很多时间。

所以这就是我一直在做的而不是白痴,我意识到必须有更好的方法。所以我在上周看了NHiberabte,LINQ to SQL,Entity Framework,或者使用datareaders和无类型代码重新完成所有操作。

所以,问题是什么是一个好的数据库(可能是对象的sprocs)映射器。

我对3看过的想法:

1)Linq to SQL - 它唯一的SQL和微软已经说它是一种死技术,所以看起来毫无意义。

2)实体框架 - 我可能需要更多地接触这个,但似乎将这些东西映射到我自己的对象会让我回到原来的位置。

3)Nhibernate - 看起来很有前途,但是我讨厌编写XML文件而且我目前的项目有30到50个Business对象。另外,我必须在各个领域使用sprocs。

任何人的建议或关于良好ORM的教程的非常好的链接将不胜感激。对不起,这个问题太久了。 谢谢, 乔

3 个答案:

答案 0 :(得分:1)

查看:www.summerofnhibernate.com以及关于SPROCS和来自Davy Brion的nHibernate的帖子:Sprocs and NHibernate

此外,您可以使用Fluent NHibernate来避免XML ...这真的不是那么糟糕。

答案 1 :(得分:1)

您可能需要考虑:

Fluent NHibernate - 它的NHibernate具有更清晰,更好的.NET接口,因此您不必编写尽可能多的XML等。

答案 2 :(得分:1)

关于编写xml文件,我非常确定有一些工具可以检查你的类并为你输出xml文件(你可能还需要调整它,但它比面对面更好:))。