【发布时间】:2009-09-21 21:07:54
【问题描述】:
假设我需要显示客户列表,但只想显示名称并以某种方式将键与列表控件中的名称相关联。
检索整个客户列表及其所有属性可能会很昂贵。在这种情况下,创建另一个具有所需属性(在本例中为 Id 和 Name)的类会更好吗?
基本实现可能如下所示:
public class Customer {
public int Id { get; set; }
public string Firstname { get; set; }
public string Lastname { get; set; }
public int Age { get; set; }
.....
}
public class CustomerListView {
public int Id { get; set; }
public string Name { get; set; }
}
public interface IRepository<T> {
public T Find(int id);
public IEnumerable<T> FindAll();
....
}
public class Repository<T>: IRepository<T> {
....
}
public class CustomerRepository: Repository<Customer> {
public IEnumerable<CustomerListView> FindAllListView();
}
这种方法合适吗?还有什么其他选择?
【问题讨论】: