突然发现:Model的设计真的很蛋痛!!!!
我发现一个奇怪的问题:
Model除了对数据库的表进行封装外(即一个model对应一个表,字段与属性相等),
应该还要根据业务对象来设计model.
但是我发现对于业务中的model设计很蛋痛:
比如在一个GridView要显示数据,这要三个表(或以上)的inner join 查询
那我是不是这样定义一个业务Model:
class 业务Model_1
{
表A中的某些字段
表B中的某些字段
表C中的某些字段
}
然后执行conn.IEnumable<T>query<T>(sql)返回IEnumable<业务Model_1>
如果这样的话,我得写多少个业务Model啊
特别是大项目,那是不是业务model写到手软啊
好吧,有人会说这样嘛:
class 业务Model_1
{
class A
class B
class C
}
可是这样的话,我只有一个Datareader 如何封装这个业务Model_1?
别说
业务Model_1 m=new 业务Model_1()
A a=new A();
a.XX=reader["XX"].tostring();
m.A=a;
我最烦就是这样的代码风格,没有自动化......
求当头捧喝、求指点......