EF学习
?
這次,我們用的是DB first模式。 ? 一、首先要做的事情,就是新建數(shù)據(jù)庫了,這次我們用到的數(shù)據(jù)庫名為:Student,表明為:User,下面的是數(shù)據(jù)庫的生成操作: ? USE?[master] GO /******?Object:??Database?[Student]????Script?Date:?05/20/2016?11:36:27?******/ CREATE?DATABASE?[Student]?ON??PRIMARY? (?NAME?=?N'Student',?FILENAME?=?N'F:\Jeffrey9061\SVN\DB\Student.mdf'?,?SIZE?=?3072KB?,?MAXSIZE?=?UNLIMITED,?FILEGROWTH?=?1024KB?) LOG?ON? (?NAME?=?N'Student_log',?FILENAME?=?N'F:\Jeffrey9061\SVN\DB\Student_log.ldf'?,?SIZE?=?1024KB?,?MAXSIZE?=?2048GB?,?FILEGROWTH?=?10%) GO ALTER?DATABASE?[Student]?SET?COMPATIBILITY_LEVEL?=?100 GO IF?(1?=?FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')) begin EXEC?[Student].[dbo].[sp_fulltext_database]?@action?=?'enable' end GO ALTER?DATABASE?[Student]?SET?ANSI_NULL_DEFAULT?OFF GO ALTER?DATABASE?[Student]?SET?ANSI_NULLS?OFF GO ALTER?DATABASE?[Student]?SET?ANSI_PADDING?OFF GO ALTER?DATABASE?[Student]?SET?ANSI_WARNINGS?OFF GO ALTER?DATABASE?[Student]?SET?ARITHABORT?OFF GO ALTER?DATABASE?[Student]?SET?AUTO_CLOSE?OFF GO ALTER?DATABASE?[Student]?SET?AUTO_CREATE_STATISTICS?ON GO ALTER?DATABASE?[Student]?SET?AUTO_SHRINK?OFF GO ALTER?DATABASE?[Student]?SET?AUTO_UPDATE_STATISTICS?ON GO ALTER?DATABASE?[Student]?SET?CURSOR_CLOSE_ON_COMMIT?OFF GO ALTER?DATABASE?[Student]?SET?CURSOR_DEFAULT??GLOBAL GO ALTER?DATABASE?[Student]?SET?CONCAT_NULL_YIELDS_NULL?OFF GO ALTER?DATABASE?[Student]?SET?NUMERIC_ROUNDABORT?OFF GO ALTER?DATABASE?[Student]?SET?QUOTED_IDENTIFIER?OFF GO ALTER?DATABASE?[Student]?SET?RECURSIVE_TRIGGERS?OFF GO ALTER?DATABASE?[Student]?SET??DISABLE_BROKER GO ALTER?DATABASE?[Student]?SET?AUTO_UPDATE_STATISTICS_ASYNC?OFF GO ALTER?DATABASE?[Student]?SET?DATE_CORRELATION_OPTIMIZATION?OFF GO ALTER?DATABASE?[Student]?SET?TRUSTWORTHY?OFF GO ALTER?DATABASE?[Student]?SET?ALLOW_SNAPSHOT_ISOLATION?OFF GO ALTER?DATABASE?[Student]?SET?PARAMETERIZATION?SIMPLE GO ALTER?DATABASE?[Student]?SET?READ_COMMITTED_SNAPSHOT?OFF GO ALTER?DATABASE?[Student]?SET?HONOR_BROKER_PRIORITY?OFF GO ALTER?DATABASE?[Student]?SET??READ_WRITE GO ALTER?DATABASE?[Student]?SET?RECOVERY?FULL GO ALTER?DATABASE?[Student]?SET??MULTI_USER GO ALTER?DATABASE?[Student]?SET?PAGE_VERIFY?CHECKSUM GO ALTER?DATABASE?[Student]?SET?DB_CHAINING?OFF GO EXEC?sys.sp_db_vardecimal_storage_format?N'Student',?N'ON' GO USE?[Student] GO /******?Object:??Table?[dbo].[User]????Script?Date:?05/20/2016?11:36:27?******/ SET?ANSI_NULLS?ON GO SET?QUOTED_IDENTIFIER?ON GO CREATE?TABLE?[dbo].[User]( [ID]?[int]?IDENTITY(1,1)?NOT?NULL, [Name]?[nvarchar](50)?NULL, [Age]?[int]?NULL, [Sex]?[nvarchar](50)?NULL, CONSTRAINT?[PK_User]?PRIMARY?KEY?CLUSTERED? ( [ID]?ASC )WITH?(PAD_INDEX??=?OFF,?STATISTICS_NORECOMPUTE??=?OFF,?IGNORE_DUP_KEY?=?OFF,?ALLOW_ROW_LOCKS??=?ON,?ALLOW_PAGE_LOCKS??=?ON)?ON?[PRIMARY] )?ON?[PRIMARY] GO ?二、新建一個(gè)asp.net的Web站點(diǎn),命名為:LMX.EF.Web,如下圖: ?選擇空模板 二、添加EF的ADO.NET實(shí)體數(shù)據(jù)模型,如下圖:
命名為:Student
點(diǎn)擊:新建連接
填寫本地SQL數(shù)據(jù)庫的鏈接,然后選擇:Student數(shù)據(jù)庫,如下: 點(diǎn)擊“確定” 點(diǎn)擊:“下一步” 選擇“6.x”,這里,如果你們用的是VS2013,選“5.0”也一樣。 然后點(diǎn)擊“完成”。如下圖: 添加實(shí)體類數(shù)據(jù)模型到此結(jié)束。 三、添加增刪改查頁面。 ? ? ??1,增加add.aspx
2,修改edit.aspx 3,列表list.aspx(包含搜索和刪除) ? 四、代碼實(shí)現(xiàn) add.aspx ?前端: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="add.aspx.cs" Inherits="LMX.EF.Web.add" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>增加用戶</title><script src="js/jquery-1.8.3.min.js"></script><style type="text/css">/* 表格的樣式*/.tab {border-collapse: collapse;padding-top: 10px;padding-left: 0px;padding-right: 0px;margin: 0px;border: 1px solid #BDBCBC;}.tr {border-collapse: collapse;height: 30px;}.td {background-color: #fff;font-size: 14px;font-family: "微軟雅黑";text-align: center;border-right: 1px solid #BDBCBC;border-bottom: 1px dashed #BDBCBC;}</style><script type="text/javascript">$(function () {$("#btnSubmit").click(function () {var vData = $("#form1").serialize();$.ajax({type: 'get',url: location.href + "?type=add",data: vData,success: function (msg) {alert(msg);}})});$("#btnList").click(function () {window.location.href = "list.aspx";});})</script> </head> <body><form id="form1"><table class="tab"><tr class="tr"><td class="td">姓名</td><td class="td"><input type="text" name="Name" /></td></tr><tr class="tr"><td class="td">年齡</td><td class="td"><input type="text" name="Age" /></td></tr><tr class="tr"><td class="td">性別</td><td class="td"><input type="text" name="Sex" /></td></tr><tr class="tr"><td class="td"><input type="button" id="btnList" value="返回列表" /></td><td class="td"><input type="button" id="btnSubmit" value="確認(rèn)提交" /></td></tr></table></form> </body> </html>
?
后端: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls;namespace LMX.EF.Web {public partial class add : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){if (Request.QueryString["type"] == "add"){string strName = Request.QueryString["Name"];string strAge = Request.QueryString["Age"];string strSex = Request.QueryString["Sex"];using (StudentEntities ent = new StudentEntities()){User aNewUser = new User(){Age = 20,Name = strName,Sex = strSex};ent.User.Add(aNewUser);if (ent.SaveChanges() > 0){Response.Write("添加成功。");}else{Response.Write("添加失敗。");}Response.End();}}}}} }?
list.aspx ?前端: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="list.aspx.cs" Inherits="LMX.EF.Web.list" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>列表</title><script src="js/jquery-1.8.3.min.js"></script><style type="text/css">/* 表格的樣式*/.tab {border-collapse: collapse;padding-top: 10px;padding-left: 0px;padding-right: 0px;margin: 0px;border: 1px solid #BDBCBC;}.tr {border-collapse: collapse;height: 30px;}.td {background-color: #fff;font-size: 14px;font-family: "微軟雅黑";text-align: center;border-right: 1px solid #BDBCBC;border-bottom: 1px dashed #BDBCBC;}</style><script type="text/javascript">$(function () {loadData();//編輯用戶$("#btnEdit").click(function () {var vID = $("#UserID").val();if (vID == "" || vID == null) {alert("請輸入用戶編號。");return;}window.location.href = "edit.aspx?id=" + vID;});//刪除用戶$("#btnDel").click(function () {var vID = $("#UserID").val();if (vID == "" || vID == null) {alert("請輸入用戶編號。");return;}$.ajax({type: 'post',url: location.href + "?type=del&&id="+vID,success: function (data) {alert(data);loadData();}})});//繼續(xù)添加$("#btnAdd").click(function () {window.location.href = "add.aspx";});})//獲取用戶列表function loadData() {var vHead = "<tr class=\"tr\"><td class=\"td\">編號</td><td class=\"td\">姓名</td><td class=\"td\">年齡</td><td class=\"td\">性別</td></tr>";$.ajax({type: 'get',url: location.href + "?type=loadData",success: function (data) {if (data != null) {data = JSON.parse(data);for (var i = 0; i < data.length; i++) {vHead += "<tr class=\"tr\"><td class=\"td\">" + data[i].ID + "</td><td class=\"td\">" + data[i].Name + "</td><td class=\"td\">" + data[i].Age + "</td><td class=\"td\">" + data[i].Sex + "</td></tr>";}}$("#tabList").html(vHead);}})}</script> </head> <body><table class="tab" id="tabList"><tr class="tr"><td class="td">編號</td><td class="td">姓名</td><td class="td">年齡</td><td class="td">性別</td></tr></table><br /><input type="button" id="btnAdd" value="繼續(xù)添加" /><br />用戶編號:<input type="text" id="UserID" /><input type="button" id="btnEdit" value="編輯" /><input type="button" id="btnDel" value="刪除" /> </body> </html>?
后端: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Script.Serialization; using System.Web.UI; using System.Web.UI.WebControls;namespace LMX.EF.Web {public partial class list : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){if (Request.QueryString["type"] == "loadData"){using (StudentEntities ent = new StudentEntities()){List<User> userList = ent.User.ToList();JavaScriptSerializer js = new JavaScriptSerializer();string strJsonData = js.Serialize(userList);Response.Write(strJsonData);Response.End();}}if (Request.QueryString["type"] == "del"){string strID = Request.QueryString["id"];int iID = int.Parse(strID);using (StudentEntities ent = new StudentEntities()){User aUser = (from c in ent.User where c.ID == iID select c).FirstOrDefault();if (aUser != null){ent.User.Remove(aUser);if (ent.SaveChanges() > 0){Response.Write("刪除成功。");}else{Response.Write("刪除失敗。");}}else{Response.Write("不存在此用戶,請確認(rèn)用戶ID是否正確。");}Response.End();}}}}} }?
edit.aspx ?前端: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="edit.aspx.cs" Inherits="LMX.EF.Web.edit" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>編輯</title><script src="js/jquery-1.8.3.min.js"></script><script type="text/javascript">$(function () {$("#btnList").click(function () {window.location.href = "list.aspx";});})</script> </head> <body><form id="form1" runat="server"><table class="tab"><tr class="tr"><td class="td">姓名</td><td class="td"><asp:TextBox ID="Name" runat="server"></asp:TextBox><asp:TextBox ID="id" runat="server" Visible="False"></asp:TextBox></td></tr><tr class="tr"><td class="td">年齡</td><td class="td"><asp:TextBox ID="Age" runat="server"></asp:TextBox></td></tr><tr class="tr"><td class="td">性別</td><td class="td"><asp:TextBox ID="Sex" runat="server"></asp:TextBox></td></tr><tr class="tr"><td class="td"><input type="button" id="btnList" value="返回列表" /></td><td class="td"><asp:Button ID="btnSubmit" runat="server" Text="確認(rèn)提交" OnClick="btnSubmit_Click" /></td></tr></table></form> </body> </html>?
后端: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls;namespace LMX.EF.Web {public partial class edit : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){if (!IsPostBack){string strID = Request.QueryString["id"];int iID = int.Parse(strID);using (StudentEntities ent = new StudentEntities()){User aUser = (from c in ent.User where c.ID == iID select c).FirstOrDefault();if (aUser != null){Name.Text = aUser.Name;Age.Text = aUser.Age.ToString();Sex.Text = aUser.Sex;id.Text = strID;}}}}/// <summary>/// 提交修改/// </summary>/// <param name="sender"></param>/// <param name="e"></param>protected void btnSubmit_Click(object sender, EventArgs e){string strName = Name.Text;string strAge = Age.Text;string strSex = Sex.Text;string strID = id.Text;int iID = int.Parse(strID);using (StudentEntities ent = new StudentEntities()){User aUser = (from c in ent.User where c.ID == iID select c).FirstOrDefault();if (aUser != null){aUser.Name = strName;aUser.Age = 20;aUser.Sex = strSex;if (ent.SaveChanges() > 0){Response.Write("<script>alert('修改成功。')</script>");}}}}} }轉(zhuǎn)載于:https://www.cnblogs.com/yachao1120/p/8087938.html
總結(jié)
- 上一篇: filebeat相关registry文件
- 下一篇: 高斯过程(GP)