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表吗 ...
随机推荐
- nginx启动常遇到的问题
问题1: nginx: [emerg] open() "/opt/soft/nginx/mime.types" failed (2: No such file or directo ...
- Retrofit 2.0 使用详细教程
文章来自:https://blog.csdn.net/carson_ho/article/details/73732076 前言 在Andrroid开发中,网络请求十分常用 而在Android网络请求 ...
- Mysql 用户和权限管理
用户和权限管理: 语法 grant 权限 on 数据库.数据表 to '用户' @ '主机名'; 例:给 xiaogang 分配所有的权限 grant all on *.* to 'xiaogang' ...
- List stream 对象 属性去重
单值去重不写了,记录对象去重 随手一个对象: @Data @AllArgsConstructor public class Milk { private Integer key; private St ...
- 阿里云centos安装docker-engine实践
近日在阿里云ECS服务器(centos系统)中安装docker,参考官方指南 https://docs.docker.com/engine/installation/linux/centos/ 大概 ...
- sklearn linear_model,svm,tree,naive bayes,ensemble
sklearn linear_model,svm,tree,naive bayes,ensemble by iris dataset .caret, .dropup > .btn > .c ...
- HDOJ 1393 Weird Clock(明确题意就简单了)
Problem Description A weird clock marked from 0 to 59 has only a minute hand. It won't move until a ...
- 使用Delve进行Golang代码的调试
问题 安装好vscode编辑项目,出现以下错误: Failed to continue: "Cannot find Delve debugger. Ensure it is in your ...
- android:onClick都做了什么
同步发表于 http://avenwu.net/viewinject/2015/01/28/android_onclick/ 相信大家都知道在layout里面可以给view写android:onCli ...
- 稍稍解读下JDK8的HashMap
首先,源码中上来就有一大段注释,但最重要的就是第一句. 大意如下: 本map经常用作一个 binned (bucketed) hash table (下面有解释),但是,当bins很大的时候,它们会被 ...