如何使用LINQ生成SQL?

时间:2010-10-28 02:23:53

标签: sql linq postgresql

我希望能够采用这样的LINQ语句。

var User = from u in Users
           where u.UserID == 7
           select u.UserName;

让它像这样生成SQL。

SELECT UserName FROM Users WHERE Users.UserID = 7

我知道LINQ TO SQL会这样做,但我不希望所有添加xml映射和生成的代码。 显然这是可能的,因为LINQ TO SQL可以做到,但它是如何做到的?

更新

我不想使用LINQ to SQL的其他原因是因为我想将它用于PostgreSQL。

4 个答案:

答案 0 :(得分:2)

所以,你应该下载LinqPad:

http://www.linqpad.net/

这将为您提供有关LINQ正在做什么的一些很好的信息。

答案 1 :(得分:1)

您可能需要其中一种方法 - http://www.thereforesystems.com/view-query-generate-by-linq-to-sql/

但您可以考虑将实体框架与Postgres SQL http://www.devart.com/dotconnect/postgresql/

一起使用

答案 2 :(得分:1)

目前似乎没有一个开源生产就绪的LINQ to PostgreSQL库。 所以,由于这是一个新项目,我将使用MongoDBMongoDB-CSharp作为我的LINQ驱动程序。 它完成了我所需要的一切,并且不必担心模式和存储过程。

答案 3 :(得分:0)

尝试使用Devart LinqConnect - http://www.devart.com/linqconnect/。它支持PostgreSQL,允许您为sql生成定义灵活的模板。