首先打开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两表联查的更多相关文章

  1. asp.net mvc 三层加EF 登录注册 增删改查

    首先打开vs软件新建项目创建web中的mvc项目再右击解决方案创建类库项目分别创建DAL层和BLL层再把DAL层和BLL层的类重命名在mvc项目中的Models文件夹创建model类在DAL创建ADO ...

  2. ASP.NET MVC中加载WebForms用户控件(.ascx)

    原文:ASP.NET MVC中加载WebForms用户控件(.ascx) 问题背景 博客园博客中的日历用的是ASP.NET WebForms的日历控件(System.Web.UI.WebControl ...

  3. 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 ...

  4. ASP.NET MVC动态加载数据

    ASP.NET MVC动态加载数据,一般的做法是使用$.each方法来循环产生tabel: 你可以在html时先写下非动态的部分:  Source Code 上图中,有一行代码: <tbody ...

  5. thinkjs——两表联查

    问题来源: 现有一张texture以及一张tradename表,两者的联系是texture表中有一字段名为tid对应tradename表中的id,而tradename表中却有一字段type,要求根据t ...

  6. yii2.0AR两表联查

    首先,建两个关联表. 表一 -- Table structure for article -- ---------------------------- DROP TABLE IF EXISTS `a ...

  7. ASP.NET MVC + ADO.NET EF 项目实战(一):应用程序布局设计

    什么叫上下文? 在你设计一个方法的时候,无法直接从方法参数或实例成员(字段或属性)获得的所有信息都是上下文.例如: 当前用户是谁? 刚才提供操作的数据库连接实例从哪里拿到? 这个方法从哪个 View ...

  8. 解析ASP.NET Mvc开发之EF延迟加载

    目录: 1)从明源动力到创新工场这一路走来 2)解析ASP.NET WebForm和Mvc开发的区别 3)解析ASP.NET Mvc开发之查询数据实例 ------------------------ ...

  9. 【ASP.NET MVC系列】浅谈表单和HTML辅助方法

    [01]浅谈Google Chrome浏览器(理论篇) [02]浅谈Google Chrome浏览器(操作篇)(上) [03]浅谈Google Chrome浏览器(操作篇)(下) [04]浅谈ASP. ...

随机推荐

  1. windows下安装mysql驱动mysql-python

    Windows下直接pip安装会出错 解决方案 到Python Extension Packages for Windows - Christoph Gohlke 下载MySQL_python‑1.2 ...

  2. 虚拟机配置Openstack常见问题汇总

    之前配置了openstack,遇到一些问题,现在将问题全部汇总记录在这里. (1)问题:主机名字修改不了: 原因:没有进入root状态:或者没有正确打开文件,要打开的是/etc/hostname,结果 ...

  3. Centos6.5DRBD加载失败,系统更换yum源(国内163)

    我安装的系统是centos6.5的,要在系统上安装DRBD镜像软件,安装完后,无法加载modprobe drbd. 需要更新kernel. 1,首先,先把yum源更换成国内的,不然无法更新kernel ...

  4. 学unity3d需要什么基础

    学unity3d需要什么基础?在游戏业发展如火如荼的情境下,很多人开始转行投身于游戏程序开发,而unity3D游戏开发则是他们必须了解和会用的游戏开发工具.在学习之前又应该了解哪些内容呢? unity ...

  5. IM进化论:腾讯也难逃被颠覆掉的命运

    在一定程度上,腾讯代表了中国IM领域的过去和未来.但有句俗话,后来推前浪,前浪被拍死在沙滩上,"生死腾讯"也总会变为生和死,因为腾讯很可能会有被颠覆掉的一天.腾讯的IM接口是个庞然 ...

  6. 去重是distinct还是group by?

    distinct简单来说就是用来去重的,而group by的设计目的则是用来聚合统计的,两者在能够实现的功能上有些相同之处,但应该仔细区分,因为用错场景的话,效率相差可以倍计. 单纯的去重操作使用di ...

  7. sql server 高可用故障转移(2)

    添加网卡心跳线 目标: 二台sql服务器需要添加网卡心跳线,用于sql server内部数据传输 计算机名 Ip信息 心跳线 Hsr1 192.168.2.50    (ipv4 ip) 255.25 ...

  8. 解决CentOS 7中php-fpm进程数过多导致服务器内存资源消耗较大的问题

    本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=653 什么是php-fpm: php-fpm即FastCGI进程管理器,用于控制php的内存和进程等. 操作环境: ...

  9. 使用Spring Session实现Spring Boot水平扩展

    小编说:本文使用Spring Session实现了Spring Boot水平扩展,每个Spring Boot应用与其他水平扩展的Spring Boot一样,都能处理用户请求.如果宕机,Nginx会将请 ...

  10. CMD命令锦集

    虽然随着计算机产业的发展,Windows 操作系统的应用越来越广泛,DOS 面临着被淘汰的命运,但是因为它运行安全.稳定,有的用户还在使用,所以一般Windows 的各种版本都与其兼容,用户可以在Wi ...