以前一直是以WebForm的模式开发的,现在想试试mvc这种开发模式,但刚开始就碰到问题了。
这个问题想了许久了,目前我在用视图来解决,但是这样感觉好麻烦。请教各位前辈有没有更好的解决方案。先在这感谢了。
问题是这样的:
做一个普通的列表页面(就是普通的那些有分页显示数据的页面),以前在WebForm中是用企业库来写的数据访问层的,dal大多数也是拼sql的,数据表里面的 参数值能够通过写SQL 来JOIN一个参数表来得到一个参数的名称,例如数据表里面性别存储的是 1、2 这类参数值,呈现时就要呈现出 男、女 这种参数名称,最终结果以DATASET的方式返回,前端就能呈现出来 !
但是现在转到MVC里面不知道怎样操作好了,ORM用的是EF .NET版本用的是 4.0 ,EF里面可以得到有关联的导航属性这个我知道,但是目前系统的现状是用到的参数都集中存放在一个参数表中,不与其它表有外键等的联系。
1.就因为这样我就不知道怎样用EF来取这些有关联的数据了,难道又要自己在程序里面拼SQL语句来JOIN表得到参数名称吗?
2.这样一来如果要将数据传递给VIEW是不是得再定义一个实体来装这些数据再传递呀?
1 Linq to EF也是可以执行Join的
2 要根据你使用的实体情况来看,不过一般情况下view应该有专用的model,不应该和数据库的model用同一个。
谢谢你的回答,另外想问个问题,平时在做 数据的查看页面和上面说的列表页面都应该会这类的需求是吧,你是以那种方式解决的呢?能够分享一下吗!?
最终以这样的方式来解决了。
列表页的参数关联在视图做好,复杂SQL查询做成存储过程,查看页面的参数值取得参数名用一个函数来到数据库获取了。