Получение одной строки из строго типизированного набора данных без получения таблицы who

В настоящее время у меня есть этот код:

   /// <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;
        }
    }

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

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


person Malfist    schedule 21.07.2010    source источник


Ответы (1)


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

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

person Jaroslav Jandek    schedule 21.07.2010