Получение одной строки из строго типизированного набора данных без получения таблицы who - PullRequest
0 голосов
/ 21 июля 2010

У меня сейчас есть этот код:

   /// <summary>
    /// This is an ineffecient method of getting a tenant by their id.
    /// </summary>
    /// <param name="id">int ID of the tenant to be selected</param>
    /// <returns>Tenant with the specific ID, or null if not found.</returns>
    public static Tenant GetTenantByID(int id){
        RentalEaseDataSetTableAdapters.tblTenantTableAdapter adapter = new RentalEaseLogic.Database.RentalEaseDataSetTableAdapters.tblTenantTableAdapter();
        RentalEaseDataSet ds = new RentalEaseDataSet();

        adapter.Fill(ds.tblTenant);

        DataRow[] rows = ds.tblTenant.Select("ID = " + id);

        if (rows.Length > 0) {
            return new Tenant(rows[0] as RentalEaseDataSet.tblTenantRow);
        } else {
            return null;
        }
    }

Что довольно ужасно по производительности. Он захватывает и загружает большую таблицу каждый раз, когда кто-то хочет одну строку. Должен быть лучший способ.

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

1 Ответ

1 голос
/ 21 июля 2010

Есть. Свяжите запрос с вашим TableAdapter. Обзор TableAdapter и в основном Как: создавать запросы TableAdapter .

Затем вы заполняете набор данных запрашиваемыми строками.

...