mvc linq多表查询 viewModel
来源:互联网 发布:人工智能对世界的影响 编辑:程序博客网 时间:2024/05/21 06:39
最近在开发mvc3的时候发现了一个问题,就是如何在view页面显示多表查询的数据,最简单的办法就是使用viewmodel了,以下本人使用viewmodel来实现多表查询的3中方法,
先贴代码再说:
1 第一种是将页面显示多表的数据(也就是汇总各个model表的字段),然后再viewmodel中显示
1 public class ResultAdList2 {3 public int A_Id;4 public string A_userid;5 public int B_Id;6 public string B_typename;7 }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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
};
}
}
1 public ActionResult Index()2 {3 return View("Index", new AdRepository());4 }
view中这样写:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Dmj.Models.AdRepository>" %> <% foreach (var item in Model.AdList) { %> <% } %>
接着第二中方法:
1 public class demoshopViewModels2 3 {4 5 public IEnumerable<商店> shop { get; set; }6 7 public IEnumerable<演示> demo { get; set; }8 9 }
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图
目测三种方法都差不多,只有细微的差别,个人觉得第三中最简单也是最常用的
- mvc linq多表查询 viewModel
- MVC ViewModel
- linq 多表查询
- linq多表查询
- MVC中使用LINQ TO SQL实现多表查询及分页
- Linq多表合一查询
- Asp.net mvc ViewModel
- MVC 中的 ViewModel
- linq 笔记2 多表查询
- Linq To Entity 多表联合查询
- LINQ to Entities多表查询
- EF linq多表查询统计demo
- Linq多条件查询
- LINQ多条件查询
- linq 联表查询
- MVC linq查询实现随机查询然后取出前几条数据
- Linq to sql查询(单表、多表查询)
- 请问在MVC中 使用 linq to sql 简单的表连接查询怎样写
- jQuery的优势
- Tomcat中实现IP访问限制
- 你用过哪些操作系统?
- 在VS C++中调试DLL工程的方法
- Java/Flex使用相同密钥加密相同的信息,生成密文不同的解决方法
- mvc linq多表查询 viewModel
- VMware9无法将外部文件拖入虚拟机中
- 人人校招笔试题
- 今天看见了一个小项目,关于ftp编程
- LeetCode: Remove Duplicates from Sorted Array
- Cocos2dx 2.1.5 (2.1.4) 离线 API 手册
- Linux 下安装配置 JDK7
- Cocos2dx 2.1.5 (2.2.0) 离线 API 手册
- 软件开发相关文档模板