日期:2014-05-18  浏览次数:20841 次

DataGridView中怎么显示多个实体的内容。
使用ORM框架,一个实体对应一张表。

查询出来的List<T> 做为DataGridView的数据源没有什么问题。
但是DataGridView经常需要暂时关联表的内容。 
比如实体有一个属性是UserID,可是ID对于用户来说没什么意义,
需要查询用户表User,然后显示UserName才行。

这样就没有办法使用List<T>做为数据源了。

我现在是使用SQL语句,直接查数据库,得到DataTable做为DataGridView数据源。
但是用的多了,就感觉和ORM框架矛盾了。实体没什么用了。

------解决方案--------------------
Class T
{
 A a{get;set;}
}
Class A{}
重载这些类的 ToString() 方法
------解决方案--------------------
微软十几年前就已经为我们设计好了高度抽象的数据模型组件ADO,
无论你面对什么样的数据,一个模型就搞定了,
开发人员不需要知道数据结构,
业务逻辑、数据访问、数据存储职能终于能够彻底分离,
可是有些人却偏偏说这不是OOD,他们要把统一描述倒退回去,退化成所谓的list<T>,
结果,100个表要写100个实体,500个查询要写500个实体,
为了"提高效率",又自欺欺人地搞出所谓的代码生成(其实代码一点也没少),数据结构变了,相关联的代码都要改