Пользовательский метод DataSet.Table.FindBy - PullRequest
0 голосов
/ 20 сентября 2011

У меня строго типизированный набор данных, созданный с помощью мастера настройки Visual Studio 2010. Я могу легко найти DataRow, если знаю первичный ключ (см. Как: редактировать строки в DataTable ).

Проблема возникает, когда я не знаю ПК. Есть ли способ создать пользовательский метод, который возвращает DataRow, если у вас есть комбинация столбцов, которые также могут быть составным первичным ключом (уникальное ограничение). Используя пример из ссылки, я хотел бы сделать что-то вроде этого:

NorthwindDataSet.CustomersRow customersRow = northwindDataSet1.Customers.FindByCustomerNameAndType("TestCustomerName", "TestCustomerType");

Это предполагает, что их таблица клиентов БД Northwind имеет два столбца (имя и тип), которые также могут быть составным ключом. И метод FindBYCustomerNameAndType будет отображаться в

 SELECT *
 FROM Customers
 WHERE name = "TestCustomerName" AND type = "TestCustomerType"

1 Ответ

1 голос
/ 20 сентября 2011
string whereClause = "name = 'TestCustomerName' and type = 'TestCustomerType'";
if (northwindDataSet1.Customers.Select(whereClause).GetLength(0) > 0)
    CustomersRow customersRow = (northwindDataSet1.Customers.Select(whereClause)[0] as CustomersRow);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...