从Strongly Typed数据集中获取一行而不获取who table

时间:2010-07-21 16:57:24

标签: c# sql-server strongly-typed-dataset

我目前有这段代码:

   /// <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 个答案:

答案 0 :(得分:1)

有。将查询与您的TableAdapter相关联。 TableAdapter Overview主要是 How to: Create TableAdapter Queries

然后用查询的行填充数据集。