LINQ to SQL的一个优点是可以快速可靠地Map数据库表并将其转换为可从c#项目访问的类。但是,不再推荐使用LINQ to SQL创建项目。它的替代品是什么?如果我想拥有与LINQ to SQL相同的功能,我应该在VS 2010中使用什么样的工具?
iezvtpos1#
为什么不呢Linq-to-SQL仍然存在于.NET 4中,甚至是with bugfixes and improvements。对于小型项目,它仍然是一个非常可行的解决方案!是的,不会有太多的进一步发展-但它仍然在那里,它仍然工作,对许多项目来说,它是一个完美的适合-只是使用它!如果你想拥有一些“面向未来”的东西,你需要看看实体框架v4。看到这个blog post在EF 4上有大量的链接。EF 4看起来很有前途-但请记住:它总是一个两阶段的Map过程(而Linq-to-SQL是从表到对象的直接1:1Map)。如果您需要灵活性,这可能很好,但它可能是一个缺点,因为它增加了一定的开销。如果你真的不想继续使用Linq-to-SQL,你可能还想看看SubSonic,这是另一个简单、易用、直接的1:1 ORMap器
nzk0hqpo2#
我会尝试Nhibernate。我认为它工作得很好,从来没有用过EF4,所以不能真正比较。Nhibernate让你手动声明所有Map,但是它们非常容易和快速地爆发出来,并且没有使用LINQtoSQL生成的类的一些限制。这也取决于你的喜好,但我喜欢完全控制我生成的类和我实现的接口。语法可能需要一些时间来适应,但我认为它真的是一个强大的工具。http://nhforge.org/还有一些关于如何使用它的惊人视频教程可以在这里找到:http://www.summerofnhibernate.com/
dsekswqp3#
你可能已经听说过微软将把它的开发工作花在实体框架上,而不是LINQ to SQL。实体框架是你应该把它看作是LINQ to SQL的替代品。虽然EF不需要到数据库的一对一Map,但当您从数据库生成新的EF模型时,这是默认的。这样,它将等效于LINQ to SQL。
3条答案
按热度按时间iezvtpos1#
为什么不呢
Linq-to-SQL仍然存在于.NET 4中,甚至是with bugfixes and improvements。对于小型项目,它仍然是一个非常可行的解决方案!
是的,不会有太多的进一步发展-但它仍然在那里,它仍然工作,对许多项目来说,它是一个完美的适合-只是使用它!
如果你想拥有一些“面向未来”的东西,你需要看看实体框架v4。
看到这个blog post在EF 4上有大量的链接。
EF 4看起来很有前途-但请记住:它总是一个两阶段的Map过程(而Linq-to-SQL是从表到对象的直接1:1Map)。如果您需要灵活性,这可能很好,但它可能是一个缺点,因为它增加了一定的开销。
如果你真的不想继续使用Linq-to-SQL,你可能还想看看SubSonic,这是另一个简单、易用、直接的1:1 ORMap器
nzk0hqpo2#
我会尝试Nhibernate。我认为它工作得很好,从来没有用过EF4,所以不能真正比较。Nhibernate让你手动声明所有Map,但是它们非常容易和快速地爆发出来,并且没有使用LINQtoSQL生成的类的一些限制。这也取决于你的喜好,但我喜欢完全控制我生成的类和我实现的接口。语法可能需要一些时间来适应,但我认为它真的是一个强大的工具。
http://nhforge.org/
还有一些关于如何使用它的惊人视频教程可以在这里找到:http://www.summerofnhibernate.com/
dsekswqp3#
你可能已经听说过微软将把它的开发工作花在实体框架上,而不是LINQ to SQL。实体框架是你应该把它看作是LINQ to SQL的替代品。
虽然EF不需要到数据库的一对一Map,但当您从数据库生成新的EF模型时,这是默认的。这样,它将等效于LINQ to SQL。