asp.net mvc 三层加EF两表联查
首先打开vs软件
新建项目
创建web中的mvc项目
再右击解决方案创建类库项目
分别创建DAL层和BLL层再把DAL层和BLL层的类重命名
在mvc项目中的Models文件夹创建model类
在DAL创建ADO.NET实体数据模型后把DAL层中App.Config文件中的链接字符串复制到mvc项目的Web.config文件中
ADO.NET实体数据模型



DAL层中的类开始打代码
/// <summary>
/// 两表联查
/// </summary>
/// <returns></returns>
public static List<dynamic> biao()
{
using (KaoshiEntities db = new KaoshiEntities())
{
var sql = from s in db.Student
join c in db.Bang on s.ID equals c.Bid
select new
{
s.Name,
s.passwork,
c.BName
};
List<dynamic> li = new List<dynamic>();
foreach (var item in sql.ToList())
{
dynamic d = new ExpandoObject();
d.name = item.Name;
d.pwd = item.passwork;
d.Bname = item.BName;
li.Add(d);
}
return li;
}
}
BLL层
/// <summary>
/// 两表联查
/// </summary>
/// <returns></returns>
public static List<dynamic> biao()
{
try
{
return KaoshiDAL.kaoshidal.biao();
}
catch (Exception ex)
{ throw ex;
}
}
mvc项目中的Models文件夹的model类
/// <summary>
/// 两表联查
/// </summary>
/// <returns></returns>
public static List<dynamic> biao()
{
try
{
return KaoshiBLL.kaoshibll.biao();
}
catch (Exception ex)
{ throw ex;
}
}
在mvc项目中的Controllers文件夹创建Home控制器
/// <summary>
/// 两表联查
/// </summary>
/// <returns></returns>
public ActionResult Index()
{
List<dynamic> li =kaoshiModel.biao();
return View(li);
}
Index视图
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<table style="width: 40%;" border="">
<tr>
<th>姓名</th>
<th>密码</th>
<th>班级</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@item.name</td>
<td>@item.pwd</td>
<td>@item.Bname</td>
</tr>
}
</table>
asp.net mvc 三层加EF两表联查的更多相关文章
- asp.net mvc 三层加EF 登录注册 增删改查
首先打开vs软件新建项目创建web中的mvc项目再右击解决方案创建类库项目分别创建DAL层和BLL层再把DAL层和BLL层的类重命名在mvc项目中的Models文件夹创建model类在DAL创建ADO ...
- ASP.NET MVC中加载WebForms用户控件(.ascx)
原文:ASP.NET MVC中加载WebForms用户控件(.ascx) 问题背景 博客园博客中的日历用的是ASP.NET WebForms的日历控件(System.Web.UI.WebControl ...
- ASP.NET MVC 5 with EF 6 上传文件
参考 ASP.NET MVC 5 with EF 6 - Working With Files Rename, Resize, Upload Image (ASP.NET MVC) ASP ...
- ASP.NET MVC动态加载数据
ASP.NET MVC动态加载数据,一般的做法是使用$.each方法来循环产生tabel: 你可以在html时先写下非动态的部分: Source Code 上图中,有一行代码: <tbody ...
- thinkjs——两表联查
问题来源: 现有一张texture以及一张tradename表,两者的联系是texture表中有一字段名为tid对应tradename表中的id,而tradename表中却有一字段type,要求根据t ...
- yii2.0AR两表联查
首先,建两个关联表. 表一 -- Table structure for article -- ---------------------------- DROP TABLE IF EXISTS `a ...
- ASP.NET MVC + ADO.NET EF 项目实战(一):应用程序布局设计
什么叫上下文? 在你设计一个方法的时候,无法直接从方法参数或实例成员(字段或属性)获得的所有信息都是上下文.例如: 当前用户是谁? 刚才提供操作的数据库连接实例从哪里拿到? 这个方法从哪个 View ...
- 解析ASP.NET Mvc开发之EF延迟加载
目录: 1)从明源动力到创新工场这一路走来 2)解析ASP.NET WebForm和Mvc开发的区别 3)解析ASP.NET Mvc开发之查询数据实例 ------------------------ ...
- 【ASP.NET MVC系列】浅谈表单和HTML辅助方法
[01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP. ...
随机推荐
- Ubuntu16+pinpoint环境搭建
最近研究了pinpoint,稍后放上环境搭建教程,建议想学习搭建的同学记得参考pinpointGitHub
- Python_自定义有向图
directedGraph.py class DirectedGraph(object): def __init__(self,d): if isinstance(d,dict): self.__gr ...
- python_自定日历
>>> from datetime import date>>> daysOfMonth=[31,28,31,30,31,30,31,31,30,31,30,31] ...
- sql中关于存在就不做操作的代码块
前言: 在开发中,经常会对数据库表进行新增修改操作,那么如果表中的属性信息已然存在啦!就没必要去做重复的操作了... 代码块 BEGIN SELECT "COUNT"(*) int ...
- JaveScript基础(1)之变量和数据类型
1.JaveScript变量的定义方式: A:隐式定义:直接给变量赋值: temp='hello'; alert(temp); PS:使用变量前要先进行初始化工作,否则会报变量未被定义的错误; B:显 ...
- Archlinux安裝指南(uefi+gpt)
1.系统安装前的一些准备 首先在Archlinux官网下载镜像文件,然后刻录到U盘或光盘上.在我的机器上刻录arch镜像文件到U盘后启动不了,因为时间问题我没做过多的探索,所以后面直接刻录到光盘,用光 ...
- JSP中的隐含对象
什么是JSP中隐含对象:容器自动创建,在JSP文件中可以直接使用的对象. 作用:JSP预先创建的这些对象可以简化对HTTP的请求,响应信息的访问. JSP中的隐含对象: 输入输出对象:request. ...
- Redis使用单进程单线程方式的优缺点分析
[转] http://www.syyong.com/db/Redis-why-the-use-of-single-process-and-single-threaded-way-so-fast.htm ...
- Python+Selenium+PIL+Tesseract真正自动识别验证码进行一键登录
Python 2.7 IDE Pycharm 5.0.3 Selenium:Selenium的介绍及使用,强烈推荐@ Eastmount的博客 PIL : Pillow-3.3.0-cp27-cp27 ...
- 关于Kafka __consumer_offests的讨论
众所周知,__consumer__offsets是一个内部topic,对用户而言是透明的,除了它的数据文件以及偶尔在日志中出现这两点之外,用户一般是感觉不到这个topic的.不过我们的确知道它保存的是 ...