MVC5+EF6简单实例---以原有SQLServer数据库两表联合查询为例
工具:VS.net2013、EF6、MVC5、SQLServer2008
参考出处:
http://www.cnblogs.com/slark/p/mvc-5-get-started-create-project.html
http://www.cnblogs.com/miro/p/4288184.html
http://www.cnblogs.com/dotnetmvc/p/3732029.html
一、准备工作
在SqlServer上创建数据库:Element
模拟两个表并插入数据:SysUser(用户表)、SysRole(角色表)
CREATE TABLE [dbo].[SysUser](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nchar](10) NOT NULL,
[RoleNum] [nchar](10) NOT NULL
) ON [PRIMARY]
CREATE TABLE [dbo].[SysRole](
[ID] [int] IDENTITY(1,1) NOT NULL,
[RoleName] [nchar](10) NOT NULL,
[RoleNum] [nchar](10) NOT NULL
) ON [PRIMARY]
插入数据:
二、使用EF的Code First从原有数据库中生成Models
三、根据Model生成Controller及View
在Controllers文件夹上右键--添加--控制器
四、利用ViewModel显示多表联合查询
namespace MVCDemo.ViewModels
{
public class UserRole
{
public string userName { get; set; }
public string userRole { get; set; }
}
}
右键Controllers文件夹添加控制类,此类继承于Controller类
using System;
using System.Collections.Generic;
using System.Linq; using System.Web;
using System.Web.Mvc; using System.Data.Entity;
using MVCDemo.ViewModels;
using MVCDemo.Models;
namespace MVCDemo.Controllers
{
public class UserRoleController : Controller
{
ElementModel db = new ElementModel();
public ActionResult Index()
{
var userRoleList = from uu in db.SysUsers
join ud in db.SysRoles on uu.RoleNum equals ud.RoleNum
where uu.ID == 1
select new UserRole {userName = uu.Name,userRole = ud.RoleName}
return View(userRoleList);
}
}
}
@model IEnumerable<MVCDemo.ViewModels.UserRole>
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model=>model.userName)
</th>
<th>
@Html.DisplayNameFor(model => model.userRole)
</th>
<th></th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.userName)
</td>
<td>
@Html.DisplayFor(modelItem => item.userRole)
</td>
</tr>
}
</table>
转载于:https://www.cnblogs.com/lacey/p/6396639.html
MVC5+EF6简单实例---以原有SQLServer数据库两表联合查询为例相关推荐
- Android Sqlite数据库多表联合查询
Android Sqlite数据库多表联合查询示例 工作上用数据库存储文件还是很便利的,所以有时候发现一张表存储数据感觉数据结构不是很清晰的时候,就需要新加第二张表或者多张表来进行联合查询对象信,一般 ...
- oracle数据库多表联合查询
高级查询(多表连接查询): 等值连接 select s.sname,e.cno,e.degree from student s,score e where s.sno=e.sno; 左外连接 l ...
- 数据库多表联合查询附简单例子
多表联合查询 多表联合查询可以通过连接运算实现,而连接运算又可以通过广义笛卡尔积后在进行选择运算来实现. Select 多表联合查询语句 Select 列名 [[,列名]...] from 表名1,表 ...
- 数据库多表联合查询和分组查询
--------------------- 多表联合查询 理论依据:笛卡尔积 通过笛卡尔乘积,把两个或者多个表变为一个大表,里面包含了有效的,无效的记录(需要加条件进行过滤数据) 例如:查询学生的姓 ...
- SQLSERVER 数据库或表修复(DBCC CHECKDB)
** SQLSERVER 数据库或表修复(DBCC CHECKDB) ** 1. DBCC CHECKDB 重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复 ...
- SQLServer数据库的表管理
第4章-SQLServer数据库的表管理 一.表的基本概念 Ø表是包含数据库中所有数据的数据对象,表定义是一列集合 Ø数据在表中的组织方式与在电子表格中相似,都是按行和列的格式组织的 Ø每一行代表一条 ...
- SQLSERVER数据库、表的创建及SQL语句命令
SQLSERVER数据库.表的创建及SQL语句命令 备份,还原,创建,删除,查询,修改 ** 数据库定义及操作命令:** 按照数据结构来组织.存储和管理数据的仓库.由表.关系以及操作对象组成,把数据存 ...
- 数据库实验:数据库和表、查询、视图与安全性、存储过程及游标、触发器、综合实验-水果商店进阶
数据库实验:数据库和表.查询.视图与安全性.存储过程及游标.触发器.综合实验-水果商店进阶 实验一.数据库和表 源码1: 源码2: 小结 实验二.查询 源码 小结 实验三.视图.安全性 源码: 小结 ...
- android sqllite数据库的多表联合查询
Android数据库有时候需要多表联合查询,经过学习,可以用以下代码 Currsor = db.rawQuery("select * from tablea as a left outer ...
- ORACLE数据库多表关联查询效率问题解决方案
ORACLE数据库多表关联查询效率问题解决方案 参考文章: (1)ORACLE数据库多表关联查询效率问题解决方案 (2)https://www.cnblogs.com/baib/p/5086777.h ...
最新文章
- 概率统计概念复习:MAPMLE
- 阿里面试题Linux curl命令详解
- nohup-真正的Shell后台运行
- GoJS v1.8.27 去水印方法
- Python基础之函数与装饰器
- 牛客网_PAT乙级_1022挖掘机技术哪家强(20)【class vector sort排序、删除重复元素】
- Android开发学习---使用Intelij idea 13.1 进行android 开发
- 联想办公计算机,办公娱乐两不误!联想这些笔记本电脑不容错过
- python大型项目经验_图像分类:13个Kaggle项目的经验总结
- android wifi连接手机,Android手机无线连接利器-AirDroid
- OpenCV示例学习(七):离散傅里变换(DFT)算子:getOptimalDFTSize(),copyMakeBorder(),magnitude(),log(),normalize()
- linux 文件理解,linux文件系统理解
- Sklearn 与 TensorFlow 机器学习实用指南(补档)
- echarts-formatter
- spring之httpclient doget请求
- 从360和QQ打架看客户端的高精尖武器技术发展:自己留着,防止忘记!
- 关于matlab表情包,matlab表情包 - matlab微信表情包 - matlabQQ表情包 - 发表情 fabiaoqing.com...
- 缺陷报告单写作准则(5C)
- 【图像处理】多光谱 波长波段划分 主要波段特性 植被遥感原理 典型植被指数
- apache网站漏洞修复解决办法