Linq多表联合查询,在View中绑定数据
Ⅰ→通过ViewData传递数据,不过需要新建一个类(用来存)
NewClass(里面有表1的字段和表2的字段)
public class JoinTab1_2
{
public int ID { get; set; }
public string Name { get; set; }
}
控制器中Action
public ActionResult Index()
{using (DBEntities db = new DBEntities())
{
var query = (from tab_1 in db.T_Tab1
join tab_2 in db.T_Tab2 on T_Tab1.TypeID equals T_Tab2.ID
select new JoinTab1_2()
{
ID = tab_1.ID,
Name = tab_2.Name
}).ToList();
ViewData["query"] = query;
return View();
}
}
View中(可以直接在控制器中的Action直接右击→添加视图...然后类型选新建的这个,其它自定义吧)
<div class="table-responsive">
<table class="table" border="">
<caption>测试</caption>
<thead>
<tr>
<td>
ID
</td>
<td>
类型名称
</td>
<td>
操作
</td>
</tr>
</thead>
<tbody>@foreach (var item in ViewData["query"] as IEnumerable<JoinInstrument>)
{
<tr>
<td>
@item.ID
</td>
<td>
@item.Name
</td>
<td>
<a class="btn" title="编辑" href="@Url.Action("GetInfo",new { id=@item.ID})">查看</a>
<a class="btn" title="编辑" href="@Url.Action("Edit",new { id=@item.ID})">修改</a>
<a class="btn" title="编辑" href="@Url.Action("Delete",new { id=@item.ID})">删除</a>
</td>
</tr>
}
</tbody>
@*<tfoot> </tfoot>*@
</table>
</div>
Ⅱ→通过return View(query);传递数据→会报错!!!
控制器中Action
public ActionResult Index()
{
using (DBEntities db = new DBEntities())
{
var query = (from tab_1 in db.T_Tab1
join tab_2 in db.T_Tab2 on T_Tab1.TypeID equals T_Tab2.ID
select new JoinTab1_2()
{
ID = tab_1.ID,
Name = tab_2.Name
}).ToList();
//ViewData["query"] = query;
return View(query);
}
}
view中
<div class="table-responsive">
<table class="table" border="">
<caption>测试</caption>
<thead>
<tr>
<td>
ID
</td>
<td>
类型名称
</td>
<td>
操作
</td>
</tr>
</thead>
<tbody>@foreach (var item in Model)
{
<tr>
<td>
@item.ID
</td>
<td>
@item.Name
</td>
<td>
<a class="btn" title="编辑" href="@Url.Action("GetInfo",new { id=@item.ID})">查看</a>
<a class="btn" title="编辑" href="@Url.Action("Edit",new { id=@item.ID})">修改</a>
<a class="btn" title="编辑" href="@Url.Action("Delete",new { id=@item.ID})">删除</a>
</td>
</tr>
}
</tbody>
@*<tfoot> </tfoot>*@
</table>
</div>
这样写会报错
我参考这篇文章也没搞出来
记dynamic的一个小坑 -- RuntimeBinderException:“object”未包含“xxx”的定义
大神看到希望能指点一二...
x
x
Linq多表联合查询,在View中绑定数据的更多相关文章
- 你了解MySQL中的多表联合查询吗?
前言: 多表联合查询,其实就是我们MySQL中的join语句,经常会看到有人说join非常影响性能,不建议使用,你知道这是为什么呢?我们究竟可不可以用呢? 测试数据: CREATE TABLE `t2 ...
- Linq和EF 做 单一条件查询 和 复合条件 查询 以及 多表 联合查询 示例
单一条件查询: var table2Object = (from t1 in db.table1 join t2 in db.table2 on t1.id equals t2.id select t ...
- 七十七、SAP中数据库操作之多表联合查询
一.我们看一下SFLIGHT表和SPFLI表,表结构如下 二.这2个表的数据如下 三.我们代码如下 四.多表联合查询结果如下
- MVC5+EF6简单实例---以原有SQLServer数据库两表联合查询为例
有二三年没写代码了,**内的工作就是这样,容易废人!看到园子里这么多大侠朝气蓬勃的,我想也要学点东西并和大家分享,共同进步!快乐每一天,进步每一天!言归正传! 通过最近一段时间对MVC5.EF6的学习 ...
- yii 多表联合查询的几种方法
yii多表联合查询, 第一种,用command,自己拼接sql语句执行查询 第二种,用AR,model需继承下面的ar,执行queryall或queryrow方法 <?php //applica ...
- Dynamic CRM 2013学习笔记(九)CrmFetchKit.js介绍:Fetchxml、多表联合查询, 批量更新
CrmFetchKit.js是一个跨浏览器的一个类库,允许通过JavaScript来执行fetch xml的查询,还可以实现批量更新,分页查询等.目前已支持Chrome 25, Firefox 19 ...
- SharePoint 2013 列表多表联合查询
在SharePoint的企业应用中,遇到复杂的逻辑的时候,我们会需要多表查询:SharePoint和Sql数据表一样,也支持多表联合查询,但是不像Sql语句那样简单,需要使用SPQuery的Joins ...
- MyBatis 多表联合查询及优化 以及自定义返回结果集
下面就来说一下 mybatis 是通过什么来实现多表联合查询的.首先看一下表关系,如图: 这 里,我已经搭好了开发的环境,用到的是 SpringMVC + Spring + MyBatis,当然,为了 ...
- 一步步学Mybatis-实现多表联合查询(4)
上一章节中我们已经完成了对单表的CRUD操作,接下来今天这一讲讲述的是关于Mybatis在多表查询时候的应用,毕竟实际业务中也是多表的联合查询比较多嘛~ 还记得最一开始我们新建过一张Website表吗 ...
随机推荐
- Python实现邮件的批量发送
Python实现邮件的批量发送 1 发送文本信息 '''加密发送文本邮件''' def sendEmail(from_addr,password,to_addr,smtp_server): try: ...
- 如何清空iframe中的内容?
我都是用这种方法往iframe里面添加内容的. document.frames["iframe1"].document.write("<img src='loadi ...
- docker部署maven私有仓库 nexus3
docker pull sonatype/nexus3: docker run -d --name nexus3.x --network host -v /volume-data/nexus3/nex ...
- CentOS 7.4安装Nginx 1.14.0
一.安装所需环境 1.gcc 安装 yum install gcc-c++
- 视音频数据处理入门:AAC音频码流解析
===================================================== 视音频数据处理入门系列文章: 视音频数据处理入门:RGB.YUV像素数据处理 视音频数据处理 ...
- ansible执行shell模块和command模块报错| FAILED | rc=127 >> /bin/sh: lsof: command not found和| rc=2 >> [Errno 2] No such file or directory
命令: ansible -i hosts_20 st -m shell -a 'service zabbix_agentd star' -K --become ansible -i hosts_2 ...
- 无意识(无知)-->有意识-->进入潜意识-->无意识(本能状态)
无意识(无知)-->有意识-->进入潜意识-->无意识(本能状态) 1. 从“无意识-->有意识”的两个重要内容是“反省”+“要努力学习”,估计有80%的人无法跨过这一步 2. ...
- jpush在有网的情况下6002
网络处理问题. https://www.jpush.cn/qa/?qa=2476/%E7%BD%91%E7%BB%9C%E6%AD%A3%E5%B8%B8%E7%9A%84%E6%83%85%E5%8 ...
- ElasticSearch性能优化策略【转】
ElasticSearch性能优化主要分为4个方面的优化. 一.服务器部署 二.服务器配置 三.数据结构优化 四.运行期优化 一.服务器部署 1.增加1-2台服务器,用于负载均衡节点 elasticS ...
- 推荐几个Windows工具软件: Stickies - 桌面贴
主页: http://www.zhornsoftware.co.uk/stickies/index.html Stickies work like Post-it notes for your PC. ...