How do you generate SQL using LINQ?
I want to be able to take a LINQ statement like this.
var User = from u in User开发者_开发问答s
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.
So, you should download LinqPad:
http://www.linqpad.net/
This will give you some nice information about what LINQ is doing.
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/
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.
Try to use Devart LinqConnect - http://www.devart.com/linqconnect/. It supports PostgreSQL and allows you to define flexible templates for sql generation.
精彩评论