Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
6 / 6 / 2
Регистрация: 09.12.2014
Сообщений: 140
1

Сопоставление результата запроса БД с Клаассом Моделью

22.02.2018, 21:22. Показов 481. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть запрос вида
C#
1
List<Application> application = this.dbSet.SQLQuery("SomeStooredProsedure @parameter1, @parameter2", parameter1, parameter2);
Результат таблица с столбцами "ApplicationState", "ApplicationId", и столбцом "ApplicationName" который вытягивается в результате слияния с другой таблицей конструкцией "FULL OUTER JOIN".
а модель имеет вид
C#
1
2
3
4
5
6
7
8
9
public class Application
  {
     public int ApplicationId {get; set;}
 
     [NotMapped]
     public string ApplicationName {get; set;}    
    
     public string ApplicationState {get; set;}
  }
и вот проблема в том что после выполнения запроса ApplicationName = null, так как контекст связан с таблицей Application у которой нету столбца ApplicationName. атрибут [Column("ApplicationName")] конечно же не поможет так как в таблице в БД нету такого столбца
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.02.2018, 21:22
Ответы с готовыми решениями:

Как результат запроса другого результата запроса запихнуть в массив?
Как результат запроса другого результата запроса запихнуть в массив? Здравствуйте, у меня такая вот...

Отслеживание результата запроса
Такой вопрос. Есть форма в которой вводятся записи. Есть запрос, который проверяет повторы. В...

Проверка результата запроса
$host = $MYSQL;$db = $MYSQL;$charset = $MYSQL;$user = $MYSQL;$pass = $MYSQL;$dsn =...

Загрузка результата запроса
Добрый день!Делаю проект в vs c БД С#.Есть форма,в ней combobox и datagrid.Делается запрос в БД к...

5
Эксперт .NET
12083 / 8391 / 1283
Регистрация: 21.01.2016
Сообщений: 31,638
23.02.2018, 06:51 2
valun, было бы очень неплохо указывать с какой ORM работаете (да, их много), чтобы мы тут не телепатировали.

А в общем, ваша задумка реализуется тем же запросом, но не через Set конкретной модели, которая и будет выдавать вам строго один тип данных, а через сам контекст или иным образом, который можно параметризовать типом класса на который нужно отобразить результат выборки.
0
6 / 6 / 2
Регистрация: 09.12.2014
Сообщений: 140
23.02.2018, 08:01  [ТС] 3
Извеняюсь, Entity
0
Эксперт .NET
12083 / 8391 / 1283
Регистрация: 21.01.2016
Сообщений: 31,638
23.02.2018, 09:05 4
Цитата Сообщение от valun Посмотреть сообщение
Извеняюсь, Entity
Вообще, с этим словом в названии существует ДВЕ ORM. Но я уже понял, что речь идёт о Entity Framework.

Вам нужен метод SqlQuery класса Database доступном в соответствующем свойстве контекста.

C#
1
var dto = context.Database.SqlQuery<Имя_Класса_DTO>("запрос").First();
0
6 / 6 / 2
Регистрация: 09.12.2014
Сообщений: 140
23.02.2018, 21:19  [ТС] 5
Я изначально так и делал, но не подтягивало, решил с помощью fluent api.
0
Эксперт .NET
12083 / 8391 / 1283
Регистрация: 21.01.2016
Сообщений: 31,638
23.02.2018, 21:23 6
Цитата Сообщение от valun Посмотреть сообщение
Я изначально так и делал, но не подтягивало, решил с помощью fluent api.
О чём данный пост?
0
23.02.2018, 21:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.02.2018, 21:23
Помогаю со студенческими работами здесь

Возвращение результата запроса
Добрый вечер! Данный код находит технику по инвентарному номеру и при условии что в одном из...

Получение результата запроса 1C
Всем приве! Есть необходимость из C# подключитья к 1С и передать запрос (так как он используется в...

Вывод результата запроса
код ниже упорно выдает мне &quot;ноуп&quot; и больше ничего. чяднт? &lt;?php $db =...

Объединение результата запроса
Добрый день. Есть view (1 скрин), из которого нужно сделать так, как на втором скрине. Но как?.....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru