我的C#项目中有DataSet
,我们称之为 MainDataSet 。在该DataSet中,我有一个名为 CustomerDataTable 的表。在启动程序时,数据表充满了表适配器。
我还有一个名为 CustomerClass.cs 的类,它使用CustomerDataTable中的列以1:1的比例映射。目前我有一个方法CustomerClass.Refresh()
,它使用LINQ将CustomerDataTable中的各种属性加载到CustomerClass中的属性中。请参阅下面的示例。
我想知道的是:将每个属性直接链接到DataSet而不是使用.Refresh()
方法是否可行?目前这没关系,但我的程序和DataSet仍然非常小。当程序和DataSet增长时,我担心性能会发生什么。
刷新()方法
CustomerDataTable cust = MainDataSet.Customer;
AddressDataTable addr = MainDataSet.Address;
var query = from customer in cust
join address in addr on customer.id equals address.customerId
where customer.id = this.customerId
select new
{
customer.firstname,
customer.lastname,
address.streetname,
address.streetnumber
};
var result = query.Single();
this.FirstName = result.firstname;
this.LastName = result.lastname;
this.StreetName = result.streetname;
this.StreetNumber = result.streetnumber;