Использование исключения при выборе поля динамического Linq — Guid

#dynamic-linq

#dynamic-linq

Вопрос:

Имя столбца моей базы данных «Guid», поскольку БД сопоставляется со многими приложениями, а также уже находится в рабочей среде, я не смог изменить поле БД,

Ошибка возникает, только если имя поля «Guid»

 var query2 = db2.Charities.Select("New(Name as CharityName,City as City,new Guid as Guid)");
  

введите описание изображения здесь

Ответ №1:

При использовании System.Linq.Динамический.Ядро вы должны иметь возможность использовать @ символ для экранирования предопределенных имен.

Пример кода:

 var queryable = new[] { new { Id = 1, Guid = "a" } }.AsQueryable();

var result = queryable.Select("new (Id, @Guid, 42 as Answer)").ToDynamicArray();
  

Смотрите также пример модульного теста