Как вы генерируете SQL с помощью LINQ? - PullRequest
4 голосов
/ 28 октября 2010

Я хочу иметь возможность использовать оператор 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 ]

2 голосов
/ 28 октября 2010

Итак, вам следует скачать LinqPad:

http://www.linqpad.net/

Это даст вам хорошую информацию о том, что делает LINQ.

1 голос
/ 02 ноября 2010

В данный момент, похоже, нет готовой к использованию библиотеки с открытым исходным кодом LINQ to PostgreSQL. Так как это новый проект, я собираюсь использовать MongoDB с MongoDB-CSharp в качестве драйвера LINQ. Он также делает все, что мне нужно, с дополнительным преимуществом - не нужно беспокоиться о схемах и хранимых процедурах.

1 голос
/ 28 октября 2010

Возможно, вам нужен один из предложенных здесь подходов - http://www.thereforesystems.com/view-query-generate-by-linq-to-sql/

Но вы могли бы вместо этого рассмотреть использование Entity Framework с Postgres SQL http://www.devart.com/dotconnect/postgresql/

0 голосов
/ 13 декабря 2010

Попробуйте использовать Devart LinqConnect - http://www.devart.com/linqconnect/. Он поддерживает PostgreSQL и позволяет вам определять гибкие шаблоны для генерации SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...