4

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.

Donny V.
  • 22,248
  • 13
  • 65
  • 79

4 Answers4

2

So, you should download LinqPad:

http://www.linqpad.net/

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

BobbyShaftoe
  • 28,337
  • 7
  • 52
  • 74
1

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/

Ian Mercer
  • 38,490
  • 8
  • 97
  • 133
  • The first one uses LINQ to SQL and the second one is a product. Looking for an open source answer or some steps on how to do it. – Donny V. Oct 28 '10 at 12:50
1

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.

Donny V.
  • 22,248
  • 13
  • 65
  • 79
0

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

Ramesh
  • 101
  • 3