日期:2014-05-17  浏览次数:20375 次

请教,三层架构中,model这个实体可以多次使用吗?
比如添加功能: 
MModel m=new MModel();
m.name="名字";m.time="时间";m.person="自己";
m.Add(m);

编辑功能也用MModel这个实体:
MModel m=new MModel();
m.name="名字";
m.Modify(m);

我不想定义那么多的model,所以就尽量用原来定义的实体,这样做有什么隐患和缺点呢?
另外,这个三层的架构是和MVC结合的,我想,可能会在页面验证上会出点问题,是这样的吗

------解决方案--------------------
实体一般的做法都是与数据库字段对应,然后直接用反射来附值,读取值
------解决方案--------------------
引用:
引用:
实体一般的做法都是与数据库字段对应,然后直接用反射来附值,读取值
必须是一一对应吗,比如我的数据都是外键关联的。


外键关联?你这样去设计实体就复杂化了,不用去关联什么的,这样不有碍代码的发挥,毕竟它不是数据库

定义实体没有硬性规定,但从代码的可读性而言,最好和数据库一致,为了以后的维护和代码的简洁,当然你也可以去拓展,或者是与数据库无关的,也可以自己去发挥
------解决方案--------------------
外间关联直接写成外检对象

比如 



User
{
   int id{set;get}
}

Role
{
   int id{set;get}
   User user{set;get}
}



------解决方案--------------------
引用:
引用:实体一般的做法都是与数据库字段对应,然后直接用反射来附值,读取值
必须是一一对应吗,比如我的数据都是外键关联的。
 你有关联的就在model加上关联表的ID呗,楼主想问什么 你是想直接映射出关联表的数据么?
------解决方案--------------------
我不想定义那么多的model,所以就尽量用原来定义的实体,这样做有什么隐患和缺点呢?
另外,这个三层的架构是和MVC结合的,我想,可能会在页面验证上会出点问题,是这样的吗

一个model就可以了,没什么隐患和缺点,前提是你得了解什么是引用类型,和语言的默认引用类型(string)之间有什么区别。

mvc基本没用过前台反射实体类的方法,感觉别扭,不知道会有什么验证问题。
------解决方案--------------------
引用:
引用:你有关联的就在model加上关联表的ID呗,楼主想问什么 你是想直接映射出关联表的数据么?
我是用sqlserver的存储过程一次性通过left join将所有的数据取出来,包括3、4个关联的表,那定义的实体属性岂不是有非常多吗?
 像你这种 就没必要用model了; 直接用datatable 或者缓存,本来model也是存在内存里的
------解决方案--------------------
你可以弄个全局的嘛。。只要用到的地方就new一下。
类是引用类型。。。你看着办