探讨mvc下linq多表查询使用viewModel的问题
2015-10-10 19:02
417 查看
最近在开发mvc3的时候发现了一个问题,就是如何在view页面显示多表查询的数据,最简单的办法就是使用viewmodel了,以下本人使用viewmodel来实现多表查询的3中方法,
先贴代码再说:
1 第一种是将页面显示多表的数据(也就是汇总各个model表的字段),然后再viewmodel中显示
接着第二中方法:
linq方法可参照AdRepository方法,大同小异,路过
view中这样写
第三种直接上图:
model中
viewmodel图
view图
目测三种方法都差不多,只有细微的差别,个人觉得第三中最简单也是最常用的
先贴代码再说:
1 第一种是将页面显示多表的数据(也就是汇总各个model表的字段),然后再viewmodel中显示
public class ResultAdList { public int A_Id; public string A_userid; public int B_Id; public string B_typename; }
public class AdRepository { private DataAdDataContext db = new DataAdDataContext(); public IQueryable<ResultAdList> AdList { get; private set; } public AdRepository() { this.AdList = from a in db.R_ad_list join b in db.R_ad_type on a.A_typeid equals b.id select new ResultAdList { A_Id = a.id, A_userid = a.A_userid, B_Id = b.id, B_typename=b.T_ad_typename }; } }
public ActionResult Index() { return View("Index", new AdRepository()); }
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Dmj.Models.AdRepository>" %> <% foreach (var item in Model.AdList) { %> <% } %>
接着第二中方法:
public class demoshopViewModels { public IEnumerable<商店> shop { get; set; } public IEnumerable<演示> demo { get; set; } }
linq方法可参照AdRepository方法,大同小异,路过
view中这样写
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MvcApplication.ViewModels.demoshopViewModels>" %> <%foreach (var item in Model.shop) { //這裡是shop Models } %> <%foreach (var item in Model.demo) { //這裡是demo Models } %>
第三种直接上图:
model中
viewmodel图
view图
目测三种方法都差不多,只有细微的差别,个人觉得第三中最简单也是最常用的
相关文章推荐
- 客户端Webview重定向
- Android 6.0 新增API 简介(2)
- memset函数用法
- 独立主机如何,不要被人忽悠了
- android studio 使用SVN 锁定文件,防止别人修改(基于Android studio 1.4 )
- Ajax具体使用
- Storm Distributed RPC(DRPC)分布式远程过程调用
- android 設置dialog点击空白处,界面不杀死
- FZU Problem 2062 Suneast & Yayamao
- 优化你的 netfilter/iptables 网关
- Netbeans中的一些小知识
- flash as3.0的简单使用
- LintCode 更新二进制位
- 英语,你好! 10月周报(一)
- AOP面向方面(切面)编程
- MVC 中的 ViewModel
- oracle 函数
- oracle 函数
- Hibernate常用接口
- 线性表顺序存储结构实验程序 Version 2.0