我需要决定要在公司内部网上运行的中型Web应用程序的DATA Access Layer。我之前使用过CodeSmith并发现它很有用但是如果底层数据库模式发生变化则会耗费大量的开发时间,因此我们想要废除它并尝试使用一些新的DAL来帮助快速开发应用程序。 / p>
请分享您对LINQ技术以及ADO.Net Entity框架的看法。我从未使用过这些技术,也不知道它们是否可以成功地用于企业数据库中心应用程序。
请建议任何其他值得探索的技术。
-Sweta。
答案 0 :(得分:1)
我认为你应该使用Linq(而不是LinqToSql),因为Linq摇滚。
我认为你应该使用ORM,部分原因是你需要类似的东西才能使用Linq,部分原因是因为创建一个没有ORM的数据层几乎不是花费你的时间和预算的好方法。
实体框架一般没有得到好评,但很多人都使用它。它在Visual Studio 2010 / .NET 4.0中发生了重大变化。
NHibernate是大多数人用于.NET ORM的内容。有很多选择可供选择。
我认为,这是一篇关于使用存储过程的好评如下:
Stored procedures are bad, m'kay?
如果你决定使用ORM,你可能想看看这个问题和其他问题:
答案 1 :(得分:0)
两个框架都很有用,如果你的数据库基本上是静态的,那么它们的效果会更好。
我的经验是编写SQL,但那是因为我一直在研究数据库驱动的应用程序,因此数据库变化很大。
使用任何ORM,您将使用工具捕获源代码中的架构,然后您与这些类进行交互,然后转到数据库。
您可能希望看到尝试编写视图或存储过程来抽象出实际的数据库表,以便您可以使用更静态的东西来使用。
我确实喜欢DLINQ,因为我发现更容易做一些功能,比如分页,而不是在应用程序中自己做。
我在ADO.NET方面做得不多。