Как я могу запросить один элемент на основе первичного ключа из таблицы db2? - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть этот код, который я могу использовать для возврата списка:

List<T> RunQuery<T>(string s) where T : new()
{
    List<T> data = db2.Query<T>(s);
    return data;
}

Я выполняю это так:

RunQuery<Phrase>("SELECT * FROM Phrase WHERE Selected = 1")
                                .OrderBy(x => x.PhraseId)
                                .ToList();

Но как насчет того, если я просто хочу получить один отдельная фраза, основанная на уникальном первичном ключе:

var p = ..  

Как я могу получить это из db2? Должен ли я также использовать Query или Execute? Мне немного непонятно по этому поводу, и я был бы признателен, если бы кто-нибудь дал мне пример обобщенной функции c, которую я мог бы использовать и вызывать для получения информации об одном объекте Phrase или объекте другого типа.

1 Ответ

1 голос
/ 29 апреля 2020

Этот обобщенный c RunQuery<T> класс, который у вас есть, должен работать как для отдельного объекта, так и для объекта списка.

Вам просто нужно использовать FirstOrDefault(), чтобы получить одну фразу на основе уникального первичного ключа. Предполагая, что первичный ключ columnn равен PhraseId:

var p = RunQuery<Phrase>("SELECT * FROM Phrase WHERE PhraseId = 1").FirstOrDefault();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...