EF中連表查詢的應用方式
1.首先我們想讓列表頁顯示兩個表的共同數據
這裡有兩張表
public class mytype
{
public int mytypeID { get; set; }
public string mytypeName { get; set; }
}
public class Author
{
public int AuthorID { get; set; }
public string AuthorName { get; set; }
}
2.然後新建立一個新的文件夾,然後添加一個類
public class all
{
public int id { get; set; }
public string type { get; set; }
public string other { get; set; }
}
3. public class mytryController : Controller
{
//
// GET: /mytry/
AllContext db = new AllContext();
public ActionResult Index() //在這裡我們獲取到了類all中的數據
{
var a = from i in db.Mytype
from j in db.Author
where i.mytypeID == j.AuthorID
select new all{ id=i.mytypeID, type=i.mytypeName, other=j.AuthorName };
return View(a);
}
}
4.然後再對應的視圖頁面
@model IEnumerable<MvcApplication12.viewModel.all>
然後再下面下出,這樣你所需要的數據就出來了
@foreach (var item in Model)
{
@item.id
@item.type
@item.other
}
現在還有一個類似的方法
首先添加一個all類
namespace MvcApplication12.viewModel
{
public class all
{
public IEnumerable<Author> author { get; set; }
public IEnumerable<mytype> mytype { get; set; }
}
}
在控制器中
public class mytryController : Controller
{
//
// GET: /mytry/
AllContext db = new AllContext();
viewModel.all al = new viewModel.all();
public ActionResult Index() //在這裡我們獲取到了類all中的數據
{
var a = from i in db.Mytype
from j in db.Author
where i.mytypeID == j.AuthorID
select new myClass{Id=i.mytypeID,Type=i.mytypeName,Name=j.AuthorName};
return View(a);
}
}
public class myClass
{
public int Id { get; set; }
public string Type { get; set; }
public string Name { get; set; }
}
然後在視圖頁面
@model IEnumerable<MvcApplication12.Controllers.myClass>
@foreach (var item in Model)
{
@item.Id
@item.Name
@item.Type
}
這樣也是可以的。
ok
EF中連表查詢的應用方式的更多相关文章
- EF中多表公共字段,以及设置EntityBase使所有实体类继承自定义类
使用EF框架访问数据库时,如果某些表具有公共字段,例如在审核流程中,对于各类申请单资料的创建人.创建时间.修改人.修改时间,这些可能多表都需要的字段,如果在每个实体中进行赋值操作显然是类似和重复的,下 ...
- Action 中获取表单数据的三种方式
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53138905 冷血之心的博客) Action 中获取表单提交数据 ...
- EF中新建表和关联表的方法
以机场表为例 private static AIRPORT_HELIPORTManager AirportHeliportManager => ManagerFactory.Instance.A ...
- Day20-单表中获取表单数据的3种方式
1. 搭建环境请参考:http://www.cnblogs.com/momo8238/p/7508677.html 2. 创建表结构 models.py from django.db import m ...
- 如何查詢 SQL Server 資料庫中欄位值為 NULL 的資料(转)
最近使用mssql的时候对于未null的字段查询不到 http://blogs.msdn.com/b/jchiou/archive/2008/05/01/sql-server-null.aspx 先建 ...
- easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)
easyui datagrid 禁止选中行 没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...
- EF 操作数据库中的表
1.VS创建项目(实现数据库的增删改查.并在dataGridView中展示) 增.改通过Button,删通过快捷菜单ContextMenuStrip控件(DateGridView控件的ContextM ...
- DB表的关系及EF中Fluent API的使用
现在使用多数的数据库是关系型数据库,那么表与表之间的关系就会显得尤其重要,对于数据的CRUD处理和以后数据的分析有很大的好处.下面是对于数据库中对表关系的理解以及在EF中使用Fluent API来创建 ...
- oracle 查詢表字段明細、字段注釋、表註釋
查詢表字段明細 select column_name,data_type,data_length,DATA_PRECISION ,DATA_SCALE from all_tab_columns wh ...
随机推荐
- 阿里云服务器windows server流量不大的情况下,tomcat经常出现访问阻塞,手动ctrl+c或者点击右键又访问正常
我被这个问题折磨了好几天,因为这两天要帮别人做推广,不能再出现这样的情况了,不然广告费就白烧了,所以特意查了一下资料,结果解决方案被我找出来了. 问题发生原因是因为打开编辑选项后,一不小心点到dos窗 ...
- 中南月赛F ZZY and his little friends
Problem F: ZZY and his little friends Time Limit: 5 Sec Memory Limit: 256 MBSubmit: 137 Solved: 70 ...
- [SD2015]序列统计——solution
http://www.lydsy.com/JudgeOnline/problem.php?id=3992 很容易得出DP方程: f[i][c]=f[i-1][a]*f[1][b]① 其中a*b%M=c ...
- 理解position:relative
前言:position有5个属性:static.absolute.relative.fixed和inherit.本篇博客主要介绍relative属性,因为似乎很多人对这个属性的理解很模糊,而且不清楚r ...
- 解决ArcMap启动时只停留在初始化界面的方法
方法1 修改环境变量TEMP和TMP为C:\Temp 重启ArcMap. 方法2 关闭系统进程Print Spooler. 打开C:\WINDOWS\system32\spool\PRINTERS,删 ...
- MUI框架-08-窗口管理-创建子页面
MUI框架-08-窗口管理-创建子页面 之前写过这一篇,不知道为什么被删了,我就大概写了,抱歉 创建子页面是为了,页面切换时,外面的页面不动,让 MUI 写出来的页面更接近原生 app 官方文档:ht ...
- 提示"libc.so.6: version `GLIBC_2.14' not found"
启动php 提示"libc.so.6: version `GLIBC_2.14' not found",原因可能是glibc版本太低,php使用了较高的glibc版本引起的 1,首 ...
- Django Ajax的使用
简介: AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJAX ...
- MySQL 8.0.2复制新特性(翻译)
译者:知数堂星耀队 MySQL 8.0.2复制新特性 MySQL 8 正在变得原来越好,而且这也在我们MySQL复制研发团队引起了一阵热潮.我们一直致力于全面提升MySQL复制,通过引入新的和一些有趣 ...
- 如何对iPhone进行屏幕录像
如何对iPhone进行屏幕录像 录制时候的效果: 1. 打开QuickTime Player 2. 在文件中新建影片录制 3. 然后酱紫录制