У меня довольно сложный SQL-запрос, который вместо преобразования в LINQ рекомендовал просто запустить его как Raw SQL. Глядя на примеры, я должен дать ему объект для создания списка. Поэтому я создал класс, который лучше отображает имена свойств по сравнению с именами столбцов таблицы. Однако я не могу использовать эти свойства и должен создавать имена свойств, которые соответствуют имени столбца базы данных.Карта EF raw SQL-запрос к определенным свойствам?
У меня есть класс я назвал область, которая имеет следующие свойства
public string RegionName { get; set; }
public string DepartingStation{ get; set; }
Однако имена столбцов БД
REG_NAME
DEP_STATION
Если у меня есть имена свойств такие же, как в колонке DB она возвращает Результаты. Тем не менее, я бы предпочел нам более известные имена свойств. Есть ли способ сопоставить имена свойств класса с конкретными полями БД?
using (ApiDbContext db = new ApiDbContext())
{
var results = db.Database.SqlQuery<Region>(sbQuery.ToString()).ToList();
}
Практически всегда наиболее простым является более эффективное. Я предлагаю вывести псевдонимы столбцов из raw sql для соответствия именам свойств класса. –
Вы имеете в виду I some some alias свойства в классе? – Caverman
В вашем запросе sql вместо REG_NAME, DEP_STATION и т. Д. Вы будете делать REG_NAME как RegionName, DEP_STATION как DepartingStation, ... –