将数据库表转换为C#类的工具

时间:2010-10-19 15:06:53

标签: c# sql-server-2008 class mapping

是否有Visual Studio的免费工具或插件将SQL表转换为实体,模型,外观和DAO类?我正在研究SQL Server 2008,Visual Studio 2008和C#。

8 个答案:

答案 0 :(得分:12)

您是否尝试过LINQ to SQL(尽管LINQ to SQL的未来有点模糊)?

如果您使用的是Visual Studio 2010,则可以在框中获得Entity Framework工具。

还有NHibernate,它有各种免费工具:

  

Free NHibernate helper tools? (Stack Overflow)

答案 1 :(得分:4)

尝试使用Microsoft的SQLMetal。这些文件并不漂亮,但它们可以工作并提供LINQ功能。它也是免费的:)

我第一手使用它,效果很好。它的美妙之处在于它通过一个命令产生一切。

希望这有帮助。

答案 2 :(得分:3)

我很确定NHibernate是免费的。这是ORP非常常见的工具。您所要做的就是编写一些XML来将类字段映射到表中并进行设置。

http://community.jboss.org/wiki/NHibernateforNET

我忘了提及,我喜欢NHibernate的另一个原因是它完全抽象出你所连接的特定类型的关系系统,从而使你的代码更具可移植性。我可能错了,但我一直认为LINQ与SQL Server(M $ love lock-in)非常紧密地联系在一起 - NHibernate让你在某种程度上可以自由地使用后端关系系统不再是SQL Server

答案 3 :(得分:3)

实体框架可能是更好的选择。

答案 4 :(得分:2)

答案 5 :(得分:0)

Subsonic按你的要求做。它有ActiveRecord和Repository样式实现,供您选择。

答案 6 :(得分:0)

你应该试试Subsonic。 NHibernate可能是成熟的ORM之一。如果您是组织的一员,那么您可能会遇到一些像Telerik OpenAccessDevExpress XPO这样的重型和昂贵的ORM。我的第一个ORM是Adapdev Codus。不幸的是,我不知道为什么开发人员hit the high road ...

答案 7 :(得分:0)

首先,我会认真考虑使用行业标准的ORM解决方案(Linq2SQL,EntityFramework,NHibernate,LLBL)。如果您仍然想要自己动手,我发现阅读LinqToSQL模板本身并修改代码以执行t4所需的一些好处。