我正在考虑使用SqlMetal为简单的小型数据库自动生成LinqToSql代码。数据库将只有具有一些主键和外键的表(即,没有视图,存储过程,函数等)。我想使用Linq进行所有连接,分组,排序和高级数据操作。
我有使用LinqToObjects和LinqToXml的经验,但我从未使用过正确的ORM或LinqToSql。
有些问题:
答案 0 :(得分:2)
标题问题的答案是肯定的,对于只有表的数据库来说它是一个很好的解决方案(当数据库增长到包括其他数据库结构(如视图和存储过程)时,这个点就会增长。)
SubmitChanges()
。 关于将Linq2SQL用于所有内容的目标,请为一些讨厌的LINQ查询做准备(以及讨厌的调试周期)。连接语法是冗长的,根据查询的复杂性,很快就会比SQL等价物更难维护。分组并不像GROUP BY
那么容易。
答案 1 :(得分:0)
如果您对LINQ非常认真,请选择一份Linq in Action。它在易于理解的章节中介绍了Linq和SqlMetal的所有方面。
此外,如果您感兴趣,可以使用SubSonic 3使用TT4模板生成模型,这在VS2008中非常自动化。然后,您可以使用常规Linq查询来访问数据。这可能是最简单的方法。