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表吗 ...
随机推荐
- JSP 性能优化
无论当前 JavaScript 代码是内嵌还是在外链文件中,页面的下载和渲染都必须停下来等待脚本执行完成.JavaScript 执行过程耗时越久,浏览器等待响应用户输入的时间就越长.浏览器在下载和执行 ...
- ARM与X86 CPU架构对比区别
CISC(复杂指令集计算机)和RISC(精简指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法.早期的CPU全部是CISC架构,它的设计目的是 CISC要用最少的机器语言 ...
- Java 8 – MinguoDate examples
1. LocalDate -> MinguoDate Review a full example to convert a LocalDate to MinguoDate TestMinguoD ...
- ES 插入十万条数据耗时1573秒
- C#-MVC开发微信应用(4)--微信门户菜单的管理操作
最近对微信接口进行深入的研究,通过把底层接口一步步进行封装后,逐步升级到自动化配置.自动化应答,以及后台处理界面的优化和完善上,力求搭建一个较为完善.适用的微信门户应用管理系统. 在微信门户系统里面, ...
- Django-基础-2-ORM
参考文章: http://www.cnblogs.com/haiyan123/p/7732190.html https://www.cnblogs.com/liuqingzheng/articles/ ...
- Android adb input 命令介绍
input命令是用来向设备发送模拟操作的命令: 因为版本不同,input命令也有所不同 以下为Android 4.0的input命令: usage:input text <string> ...
- Unity3d中的属性(Attributes)整理
Attributes属性属于U3D的RunTimeClass,所以加上以下的命名空间是必须的了.其它倒没什么需要注意的.本文将所有运行属性过一遍罢了. using UnityEngine; using ...
- 实现A星算法
[更新] 稍微将A*算法进行修正,使用BFS(按F值对open表排序),另外,新增评估函数,用来测量当前点到终点的线段上的随机某一点是否是墙或已访问结点,是的话返回1,否则返回0. function ...
- error C3861: “xxxx”: 找不到标识符
问题出现背景:c++静态类库中主函数里包含子函数 解决办法:先声明子函数再写主函数.