欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

EF学习

发布时间:2024/9/5 编程问答 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 EF学习 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

 

这次,我们用的是DB first模式。   一、首先要做的事情,就是新建数据库了,这次我们用到的数据库名为:Student,表明为:User,下面的是数据库的生成操作:   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  二、新建一个asp.net的Web站点,命名为:LMX.EF.Web,如下图:  
选择空模板 二、添加EF的ADO.NET实体数据模型,如下图:
命名为:Student

点击:新建连接
填写本地SQL数据库的链接,然后选择:Student数据库,如下: 点击“确定” 点击:“下一步” 选择“6.x”,这里,如果你们用的是VS2013,选“5.0”也一样。 然后点击“完成”。如下图: 添加实体类数据模型到此结束。 三、添加增删改查页面。       1,增加add.aspx
2,修改edit.aspx 3,列表list.aspx(包含搜索和删除)   四、代码实现 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="确认提交" /></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();}})});//继续添加$("#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="继续添加" /><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("不存在此用户,请确认用户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="确认提交" 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>");}}}}} }

转载于:https://www.cnblogs.com/yachao1120/p/8087938.html

总结

以上是生活随笔为你收集整理的EF学习的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。