Загрузите объект из SQL Server, но используйте различные свойства объекта для класса c # - PullRequest
0 голосов
/ 14 сентября 2018

Я не уверен, что в заголовке все ясно, но я бы хотел «загрузить» информацию из базы данных SQL Server в список объектов. Я новичок в c # и, честно говоря, давно не писал кодов.

По сути, в таблице будут столбцы: app_name, app_type, app_disposition, а у объекта есть свойства: name, type, disposition. У меня есть то, что я хочу работать с помощью Dapper и просто сделать свойства объекта такими же, как столбцы таблицы.

Просто любопытно, можно ли загрузить, но используя разные имена свойств объекта.

Ответы [ 2 ]

0 голосов
/ 14 сентября 2018

Да, вы можете использовать функцию «Пользовательское сопоставление». Вот подробная статья, которую я написал на эту тему, вместе с примерами кода, чтобы показать, как вы можете это сделать.

https://medium.com/dapper-net/custom-columns-mapping-1cd45dfd51d6

Подсказка: используйте плагин Dapper.Fluent-Map

0 голосов
/ 14 сентября 2018

В Dapper самое простое решение - использовать псевдонимы.

Ваш класс:

public class MyPoco
{
    public string Name {get;set;}
    //Declare other properties here
}

И вы заполняете этот класс, как показано ниже:

string sql = "SELECT app_name as Name, [include other columns here]
              FROM MyTable";

using (var conn = GetOpenConnection())
{
    var myPocoList = conn.Query<MyPoco>(sql);
}

GetOpenConnection метод выше просто возвращает открытое соединение в зависимости от вашей СУБД.

Обратите внимание, что существует много других способов сопоставления несоответствующих столбцов и имен свойств. Пожалуйста, обратитесь это Q & A для более подробной информации.

...