需要建议:O / R映射器

时间:2010-11-11 11:33:27

标签: .net sql-server orm

  

可能重复:
  What ORM frameworks for .NET Do You Like Best?
  Best way to access a SQL Server database using C# .Net

您好,

有人可以为SQL Server 2008 / .NET推荐一个好的O / R映射器吗?

我正在寻找它也支持存储过程而不仅仅是表格。

谢谢!

4 个答案:

答案 0 :(得分:3)

NHibernate

Entity Framework

你会听到有关各自利弊的争论。就个人而言,我现在建议NHibernate。它是两者中比较成熟的,并且有一个非常活跃的社区。它确实有一个陡峭的学习曲线。

我补充一点,支持EF over NH的主要功能是EF具有完整的LINQ支持。 NH2作为目前可用的单独补充剂具有部分支持。但是,NH3 Alpha现已发布,它有一个更好的LINQ提供商。

但是,这在很大程度上取决于您的要求。

答案 1 :(得分:2)

NHibernate是要走的路。

有关详细信息,请参阅http://nhforge.orghttp://sf.net/projects/nhibernate

Entity Framework和NHibernate之间的主要区别在于Entity Framework仅适用于Microsoft SQL Server(Oracle受支持,但支持并不理想)。 NHibernate支持许多许多数据库。

但它们之间存在更多差异。对comparison nhibernate "entity framework"的查询提供了许多信息来源。

答案 2 :(得分:2)

Linq to SQL可能是一个不错的选择。实体框架是另一个。两者都符合您的要求。

从技术上讲,使用SQL Server和.NET的Linq to SQL的O / R工具将是Visual Studio或SQLMetal中的O / R设计器。两者都使您能够建模数据以及存储过程/函数。

如果你有Visual Studio,你只需添加一个新对象并选择ADO.NET实体类或Linq to SQL类,具体取决于你使用的是什么。

如果没有Visual Studio,您可以使用SQLMetal命令行工具生成L2S类:

SQLMetal:http://msdn.microsoft.com/en-us/library/bb386987.aspx

答案 3 :(得分:-2)

内置linq