2010-07-21 65 views
0

我现在有这样的代码:获取一行从一个强类型数据集没有得到谁的表

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

这是性能非常可怕的。每次有人想要一行时,它会抓取并加载一张大表。一定有更好的方法。

如何从表格中选择一行,而不必填充整个表格并仍然保持强大的数据类型?

回答

相关问题