小陈解说
首先要创建好数据库
create database MyDB
然后创建和Article这两个表Catelog
--创建Catelog表create table Catelog(
Id int identity(1,1) primarykey,
Name nvarchar(50),
Comment text,
)
--创建Article表create table Article( Id int identity(1,1) primarykey,
Title nvarchar(50),
Author nvarchar(50),
Content text,
Time datetime default(getdate()),
CatelogId int references Catelog(Id) )
然后在两个表中加入几条测试数据
首先打开vs
创建ASP。Net Web应用程序(.NET Framework)项目
之后正确创建三层架构和正确的添加引用
创建三个类库 Model(数据模型层),DAL(数据访问层),BLL(业务逻辑层)
DAL层引用Model层
BLL引用DAL和Model
web引用BLL以及Model
Model(模型层)
之后在Model层中正确的添加数据ADO.Net实体数据模型
右键点击Model添加新建项
找到ADO.Net实体数据模型
选择来自数据库的EF设计器
点击下一步来到咱们的数据连接
先点新建连接,然后完成身份验证,找到要连接数据库后点击下一步
然后选择实体框架6.x 继续点击下一步
点开表找到自己要用到的表点击完成
当出现下面这个就是创建成功了
还有一个最重要的是,打开Model层中的App.Config
找到下面代码
<connectionStrings>
<addname="zhiboDBEntities"connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;providerconnectionstring="datasource=.;initialcatalog=zhiboDB;integratedsecurity=True;MultipleActiveResultSets=True;App=EntityFramework""providerName="System.Data.EntityClient"/>
</connectionStrings>
然后剪切到web(视图层)的web.onfig文件中就可以啦
接下来就是DAL(数据访问层)
首先在Model层的引用中找到EntityFramework,然后右键,在对象浏览器中查看EntityFramework的路径
然后复制这个路径,在DAL层添加引用,点击浏览,黏贴之前复制的路径,找到EntityFramework和EntityFramework.sqlserver这两个文件,引用就好了。
使用同样的方法在web(视图层)也添加EntityFramework和EntityFramework.sqlserver这两个文件的引用
数据访问层
接下来是在DAL层添加DAO类并开始编写代码
新建DAO类
先实例化模型层
MyDBEntities db = new MyDBEntities();
写入页面查询显示的方法
public object Select()
{
return db.Article.Select(p => p).ToList();
}
然后再写入添加数据的方法
public int Add(Article a ,Catelog c)
{
db.Article.Add(a);
db.Catelog.Add(c);
a.CatelogId = c.Id;
returndb.SaveChanges();
}
再写入添加页面的类型值的下拉框的值方法
public object Select()
{
var u=from cin db.Catelog
selectc.Name;
return u;
}
业务逻辑层
BLL层没有很复杂的东西,调用DAO类中我们之前写的方法就行了
首先是添加service类
然后实例化DAO
之后就是调用,代码如下
DAO da =new DAO();
调用数据访问层的Select方法
实现主页面显示数据
public object Select()
{
return da.Select();
}
调用数据访问层的Add方法
实现添加返回行数确认
public bool Add(Article a, Catelog c)
{
if(da.inset(a,c) !=0)
{
return true;
}else{
return false;
}
}
调用数据访问层的XialaSelect方法
实现添加页面的类型的值的集合
public object Select(){
return da.Select();
}
接下来就是视图层了
创建Select.aspx 和Add.aspx 窗体文件
先添加一个下拉框控件DropDownList和数据控件Repeater1
再通过下面代码绑定数据源
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.DropDownList1.DataSource = services.Selectbyname();
this.DropDownList1.DataBind();
this.Repeater1.DataSource = services.Select();
this.Repeater1.DataBind();
}
}
然后写一个添加页面(Add.aspx)的跳转地址
在主页面添加HyperLink控件,并编辑控件的NavigateUrl属性
添加页面
在Add.aspx窗体页面添加需要添加的布局
标题
内容
作者
类型
类型要用到下拉框,这就需要用到我们之前写的查询所有类型的方法了
然后将下拉框数据进行绑定
然后点击设计,在DropDownList上绑定数据源
再写提交按钮的单击事件
protected void Button1_Click (objectsender, EventArgs e){
Article a =newArticle();
Catelog c =newCatelog();
a.Title =this.TextBox1.Text;
a.Content =this.TextBox2.Text;
a.Author =this.TextBox3.Text;
c.Name =this.TextBox4.Text;
a.Time = DateTime.Now;if(hj.inset(a,c)) {
Response.Redirect("~/select.aspx?msg=添加成功");
}else{
Response.Write("alert(添加失败')");
}
}
在然后添加成功会跳转到查询表页面并且显示出来
现在写添加页面的后台代码,如下
protected void Page_Load(objectsender, EventArgs e){
if(!IsPostBack)
{
string msg = Request.QueryString["msg"];
if(!string.IsNullOrEmpty(msg))
{
Response.Write(" alert('添加成功')");
}
}
}
成功后会显示添加成功
到这多表查询和添加就做完了