Общее выражение таблицы (CTE) в linq-to-sql?

Вот что говорит стандарт (C99 6.3.2.1/3 - Другие операнды - Lvalues, массивы и указатели функций):

За исключением случаев, когда это операнд оператора sizeof или унарный & amp; оператор или является строковым литералом, используемым для инициализации массива, выражение, которое имеет тип '' array of type '', преобразуется в выражение с типом '' указатель на тип '', который указывает на начальный элемент объекта массива и не является lvalue.

Это означает, что в любом случае имя массива используется в выражении, оно автоматически преобразуется в указатель на 1-й элемент массива.

Обратите внимание, что имена функций действуют аналогичным образом, но указатели на функции используются гораздо меньше и гораздо более специализированным способом, так что это не вызывает почти столько же путаницы, как автоматическое преобразование имен массивов в указатели.

Стандарт C ++ (преобразование с преобразованием массива в переменную 4.2) ослабляет требование преобразования к (выделение мое):

lvalue или rvalue типа «массив NT» или «массив неизвестной границы T "можно преобразовать в rvalue типа« указатель на T ».

Таким образом, преобразование не

[gg]. Это также почему в C вам следует избегать использования параметров массива в функции прототипы / определения (по-моему - я не уверен, есть ли какое-либо общее согласие). Они вызывают путаницу и в любом случае являются фикцией - используют параметры указателя, и путаница может не исчезнуть целиком, но, по крайней мере, объявление параметра не лежит.

31
задан RichC 25 February 2009 в 05:44
поделиться

1 ответ

AFAIK, это не поддерживается объектной моделью. Однако LINQ поддерживает метод для выполнения запроса (strangly достаточно названный DataContext. ExecuteQuery). Похож на Вас, может использовать это, чтобы назвать произвольную часть SQL и отобразить его назад на LINQ. Вы не будете SQL, свободным из-за встроенного SQL, но Вы не должны будете использовать sproc.

, Как к: Непосредственно Выполните SQL-запросы (LINQ к SQL)

19
ответ дан 27 November 2019 в 22:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: