EntityFramework实体框架和三层框架。

EntityFramework实体框架可以独立完成对数据库的增删查改,也可以和三层框架配合使用。

如果和三层框架配合使用的话,我们需要先搭建三层架构。三层创建完成后我们可以在

在Model层中添加EntityFramework的实体框架。这是Model层中会多出一个Model1.edmx文件并同时生成几个项目文件,

然后我们需要在Dal层写方法:

public class Newsdal
{

News.Model.News_WeekEntities db = new Model.News_WeekEntities(); //实例化EntityFramework,首先要在Dal层中引用它。

//查询方法

public List<News.Model.news> Getlist()
{
var user = from c in db.news
select c;
List<Model.news> list = user.ToList();
return list;
}

//添加方法
public int Add(News.Model.news model)
{
db.news.Add(model);
return db.SaveChanges();
}

}

Dal层完成之后,我们要在bll层中写:

public class NewsBll
{
News.DAL.Newsdal dal = new DAL.Newsdal();  //实例化Dal对象,实现调用Dal中的方法

//查询方法
public List<News.Model.news> Getlist()
{
return dal.Getlist();
}

//添加方法
public int Add(News.Model.news model)
{
return dal.Add(model);
}

}

最后我们需要在UI层:

//查询

News.Bll.NewsBll bll = new Bll.NewsBll();
this.GridView1.DataSource= bll.Getlist();
this.GridView1.DataBind();

用的是web的GridView控件,所以直接绑定。

还可以用StringBuilder拼接实现:

pubilc StringBuilder str=new StringBuilder();//需写成pubilc方便前台获取,

News.Bll.NewsBll bll = new Bll.NewsBll();
List<Model.newstype> list= bll.Getnewstype();
foreach (var item in list)
{
sb.Append("<tr>");
sb.Append("<td>" + item.newsname + "</td>");
sb.Append("<td>" + item.newscontent + "</td>");
sb.Append("<td>"+item.storyname+"</td>");
sb.Append("<td>"+item.founddate.ToString("yyyy-MM-dd")+"</td>");
sb.Append("</tr>");
}

在前台页面中:

<table>

<%=str%>

</table>

就可以绑定数据。

本人小菜鸟,刚刚学到EntityFramework。望各位大神多多指导。不喜勿喷。

时间: 2024-08-02 15:12:38

EntityFramework实体框架和三层框架。的相关文章

.Net框架搭建之1、SQL Server EF MVC简单三层框架

.Net简单三层框架简介 简单三层框架,是.Net开发中最最基础的框架了,由 数据访问层.逻辑处理层.表示层组成.一般情况下,在项目中数据模型Model层也是单独一层,但是只是单纯的数据模型不算在业务层划分当中. 好了,框架搭建,如果不了解,可能会觉得难以下手,了解之后,自然知道怎么做,只是其中的步骤,比起单纯的功能开发,是要繁琐不少,下面我们来一步一步搭建属于自己的框架,这里只列出重要步骤,其他未提到的细节可自行摸索. 数据模型Model层创建 数据模型层,首先要创建数据库,再从数据库生成EF

EntityFramework、Dapper vs 草根框架性能

EntityFramework.Dapper vs 草根框架性能 扯淡 当前市面上 ORM 很多,有跑车型的,如 Dapper,有中规中矩型的,如 Mybatis.Net,也有重量型的,如 EntityFramework 和 NHibernate,还有一些出自草根之手的,如 Chloe.ORM.各式各样,层出不穷.试问,为何要重复造轮子?很简单,咱来自火星,目前地球上还没一款轮子适合咱这辆火星车~ 为加深对各个 ORM 框架的了解,同时也想看看咱自己的框架性能如何,也可以让对 Chloe 感兴趣

企业级应用框架(二)三层架构之数据访问层的封装与抽象

接上一篇我们来对数据访问层进行封装与抽象.在上一篇我们知道,要解除BLL对DAL的依赖,我们就必须抽象出DAL层的接口,同时基于DAL的数据访问技术很多,如EF,ADO.NET,LINQ TO SQL,因此,我们的数据访问层必须对这些技术提供相应的支持.所以今天我们要做的事情有两件,第一,定义我们的数据访问层接口:第二,屏蔽各类数据库访问技术的差异,提供统一的数据库访问模型.举个例子,我们只需要修改一下我们的配置文件,就能够把ADO.NET的实现方式,改变成EF的实现方式.好下面搭建我们的三层构

企业级应用框架(三)三层架构之数据访问层的改进以及测试DOM的发布

在上一篇我们在宏观概要上对DAL层进行了封装与抽象.我们的目的主要有两个:第一,解除BLL层对DAL层的依赖,这一点我们通过定义接口做到了:第二,使我们的DAL层能够支持一切数据访问技术,如Ado.net,EF,linq To Sql,这一点我们实现的不是很完美,仍有很大的改进空间,本文将加以改进. 在此之前我们来看一下我们最新的dom(PS:经过两天的赶工,我们的dom已经相对成熟,其中BLL层已经被我高度抽象化了,并且引进了业务上文文的概念:DAL层除了具体的技术实现尚为完成,其他方面已经相

企业级应用框架(一) 三层架构之解耦

前言 前段时间朋友拿了个网站给我,让我帮忙添加几个小功能,我爽快的答应了,但是当我打开源码,我瞬间就奔溃了,整个项目连最基本的三层框架也没有搭建,仅仅是封装了一个sqlhelp作为数据库的操作接口,项目中的SQL查询语句无处不在,业务逻辑紧紧耦合在UI逻辑中,看到这样的代码,坦白来说,我什么兴致都没有了,但是碍着人情,我硬着头皮,把基本功能的完成交差,通过这件事情,我对软件分层进行了深入的思考. 三层架构 说到三层架构,大伙都很熟悉,我也不再多啰嗦了,我们直接快速搭建一个. 项目的引用关系是:S

基于 ASP.NET Core 2.0 WebAPI 后台框架搭建(1) - 依赖注入三层框架搭建

概述 本文章描述如何搭建 ASP.NET Core 2.0 WebAPI 依赖注入三层架构,为什么要加入依赖,并不是为了提供程序性能,而是为了项目间解耦,项目之间能够更加独立. 微软爸爸官方说明文档:在 ASP.NET Core 依赖注入 全面理解 ASP.NET Core 依赖注入 步骤 1. 新建解决方案,添加一个ASP.NET Core WebApi应用 2. 添加四个.Net Core类库:Entity.BLL.DAL.Common 3. 按照以下截图进行解决方案布局 4. 添加DAL层

★★JSP+Struts+Mysql构建的MVC三层框架对一张数据表的CURD

项目实现流程 大体流程:搭建环境 à 开发后台 à 开发前台 建立工程(struts2CURD),拷贝jar包,建立struts.xml文件,搭建环境 建立数据库和数据源配置:dbcpconfig.properties 建立db.sql:里面全是数据库操作的一些语句 建立操作数据库的工具:*.util:DBCPUtil.java,用于加载数据源.getDataSource(); *.Domain:User.java 继承ActionSupport,实现Serializable接口. ????写好

web day13 JSTL标签库(c标签,自定义标签),MVC设计模式,JavaWeb经典三层框架

JSTL 1. jstl的概述 *apache的东西,依赖EL * 使用jstl需要导入jstl1.2.jar * 四大库: > core:核心库,重点 > fmt:格式化:日期.数字 > sql:过时 > xml:过时 2. 导入标签库 *jar包 * 在jsp页面中:<%@taglib prefix="前缀" uri="路径"%> ---------------------- core --> c标签! 1. out和s

三层框架(原始版)

什么是三层 所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫业务逻辑层.这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机 器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即把这三个层放置到一台机器上.三层体系的应用程序将业务规则.数据 访问.合法性校验等工作放到了中间层进行处理.通常情况下,客户端不直接与数据库进行交互,而是通过中间层)(业务逻辑层)建立连接,再经由中间层与数据 库进行交互. 如下: 1.用户界面表示层(USL) 2.