如何使用 LINQ 生成 SQL?

发布于 2024-09-29 02:08:44 字数 414 浏览 3 评论 0原文

我希望能够采用这样的 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。

I want to be able to take a LINQ statement like this.

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

And have it generate SQL like this.

SELECT UserName FROM Users WHERE Users.UserID = 7

I know LINQ TO SQL does this but I don't want all that added xml mapping and generated code.
Obviously this is possible since LINQ TO SQL does it but how does it do it?

Update

Other reason why I don't want to use LINQ to SQL is because I want to use it for PostgreSQL.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

囚你心 2024-10-06 02:08:44

因此,您应该下载 LinqPad:

http://www.linqpad.net/

这将为您提供一些不错的信息关于 LINQ 正在做什么。

So, you should download LinqPad:

http://www.linqpad.net/

This will give you some nice information about what LINQ is doing.

寄居者 2024-10-06 02:08:44

您可能需要此处建议的方法之一 - http:// www.thereforesystems.com/view-query-generate-by-linq-to-sql/

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

You probably want one of the approaches suggested here- http://www.thereforesystems.com/view-query-generate-by-linq-to-sql/

But you could consider instead using Entity Framework with Postgres SQL http://www.devart.com/dotconnect/postgresql/

我的黑色迷你裙 2024-10-06 02:08:44

目前似乎还没有一个开源生产就绪的 LINQ to PostgreSQL 库。
因此,由于这是一个新项目,我将使用 MongoDBMongoDB-CSharp 作为我的 LINQ 驱动程序。
它也能完成我需要的一切,还有一个额外的好处,那就是不必担心模式和存储过程。

Right now there doesn't seem to be an open source production ready LINQ to PostgreSQL library.
So since this is a new project I'm going to use MongoDB with MongoDB-CSharp as my LINQ driver.
It does everything I need it too with the added benefit of not having to worry about schemas and stored procedures.

只有一腔孤勇 2024-10-06 02:08:44

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

Try to use Devart LinqConnect - http://www.devart.com/linqconnect/. It supports PostgreSQL and allows you to define flexible templates for sql generation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文