LINQ to SQL - отсутствуют определения методов расширяемости - PullRequest
1 голос
/ 08 августа 2009

Мне только что пришлось использовать LINQ to SQL для базы данных SQL Server 2000, и я заметил, что она не включает все действия «Определения метода расширяемости», почему это так?

Ответы [ 3 ]

1 голос
/ 08 августа 2009

Чего именно не хватает? Что ты видишь (или нет)?

В частности, стратегия LINQ-to-SQL для базы данных (т. Е. Как выполнять подкачку и т. Д. В SQL2000 против SQL2005 и т. Д.) Выбирается в время выполнения в зависимости от соединения и конкретного сервера (поэтому он обновляется автоматически при установке SQL Server 2008).

Генерация кода основана исключительно на dbml, который на самом деле не заботится о версии сервера (это просто xml - посмотрите).

Если вам не хватает некоторых partial методов, мне интересно, не случайно ли вы отсоединили свои partial class от сгенерированных dbml, возможно, путем изменения пространства имен или их имен.

1 голос
/ 09 июня 2018

Методы расширяемости генерируются только для таблиц / сущностей с первичными ключами ( source ).

Обратите внимание, что это также относится к представлениям SQL.

После добавления объекта в конструктор Linq to SQL вы можете назначить столбец в качестве первичного ключа в окне свойств. Восстановите файл designer.cs, и методы расширения теперь будут созданы.

0 голосов
/ 08 августа 2009

Согласно Скотт Гатри :

LINQ to SQL будет поддерживать SQL 2000. Одна особенность, которая требует SQL 2005 поддержка подкачки на стороне сервера (где Вы делаете только пейджинг в база данных). Это использует SQL 2005 ROW_NUMBER () функция, которая только в SQL 2005

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