Linq.dynami c .core IQueryable для SQL оператора - PullRequest
0 голосов
/ 03 мая 2020

В настоящее время я использую System.Linq.Dynamic.Core для генерации операторов SQL в моем приложении. Проблема заключается в том, что при попытке

db.table.select("new (column1 as a1)").ToString()

в сгенерированной строке SQL автоматически добавляется еще 1 AS [C1], а псевдоним столбца a1 не отображается в выходной строке:

SELECT 
    1 AS [C1],
    [Extent1].[column1] AS [column1]
FROM 
    (SELECT 
         [table].[column1] AS [column1]
     FROM 
         table AS [table]) AS [Extent1]

Мой вопрос заключается в том, как достичь результата ниже и почему происходит поведение выше.

SELECT 
    [Extent1].[column1] AS [c1]
FROM 
    (SELECT 
         [table].[column1] AS [column1]
     FROM 
         table AS [table]) AS [Extent1]

1 Ответ

1 голос
/ 03 мая 2020

Попробуйте изменить строку кода, которая получает данные, на

var list = db.table.Select("new (column1 as a1)").ToDynamicList();

Результатом будет List<dynamic> динамических c объектов, каждый из которых имеет свойство a1.

фактический оператор SQL может отличаться, но имя возвращаемого свойства будет соответствовать псевдониму.

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