У меня сейчас есть этот код:
/// <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;
}
}
Что довольно ужасно по производительности. Он захватывает и загружает большую таблицу каждый раз, когда кто-то хочет одну строку. Должен быть лучший способ.
Как я могу выбрать одну строку из таблицы, не заполняя всю таблицу и сохраняя строгий тип данных?