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表吗 ...
随机推荐
- Oracle更改redo log大小 or 增加redo log组
(1)redo log的大小可以影响 DBWR 和 checkpoint : (2)arger redo log files provide better performance. Undersize ...
- java 对一个字符串进行加减乘除的运算
记录一个小程序,里面涉及到的JAVA知识点有:字符串扫描,list删除元素的方法,泛型的使用,JAVA中的/要注意的事项.有兴趣的可以看看 package com.demo; import java. ...
- [Aaronyang] 写给自己的WPF4.5 笔记6[三巴掌-大数据加载与WPF4.5 验证体系详解 2/3]
我要做回自己--Aaronyang的博客(www.ayjs.net) 博客摘要: Virtualizing虚拟化DEMO 和 大数据加载的思路及相关知识 WPF数据提供者的使用ObjectDataPr ...
- Summary Checklist for Run-Time Kubernetes Security
Here is a convenient checklist summary of the security protections to review for securing Kubernetes ...
- 使用vuejs做一个todolist
在输入框内输入一个list,回车,添加到list列表中,点击列表中的项样式改变 1.index.html <!DOCTYPE html> <html> <head> ...
- linux每日命令(33):diff命令
diff 命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff在命令行中打印每一个行的改动.最新版本的diff还支持二进制文件.diff程序的 ...
- JAVA(五)反射机制/Annotation
成鹏致远 | lcw.cnblog.com |2014-02-04 反射机制 1.认识Class类 在正常情况下,必须知道一个类的完整路径之后才可以实例化对象,但是在 java中也允许通过一个对象来找 ...
- 使用自定义端口连接SQL Server 的方法
SQL默认是1433,使用MSSL连接时默认不需要加端口号,但是在修改了SQL端口之后,就需要添加自定义端口号了,加端口号使用的是逗号(,)而不是冒号(:). 看一下连接截图吧
- Python3实现Win10桌面背景自动切换
[本文出自天外归云的博客园] 得空写了个自动切换桌面背景图片的小程序.再不写python就要扔键盘了,对vue还有那么一点好感,天天php真是有够烦. 准备工作 准备个文件夹放在桌面上,平时看到什么高 ...
- 在Thinkphp中【自动加载自定义扩展配置文件】!
/Conf/config.php为正式的扩展文件 /Conf/verify.php为扩展的自定义配置文件 /Conf/sendmail.php为扩展的自定义配置文件 如果要自动加载 verify和se ...