Entity Framework系列之DataBase First
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Entity Framework系列之DataBase First
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                第一步 新建數據庫和表
USE [TestDB] GO /****** Object: Table [dbo].[T_User] Script Date: 01/14/2015 20:27:52 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[T_User]([Id] [int] IDENTITY(1,1) NOT NULL,[Name] [nvarchar](50) NULL,[Password] [nchar](10) NULL,CONSTRAINT [PK_T_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第二步 ADO.NET實體數據模型
新建ADO.NET實體數據模型
程序自動生成以下文件
TestModel.edmx
TestModel.Context.tt
TestModel.Context.tt是生成數據操作實體類的模板
namespace EFDEMO1 {using System;using System.Data.Entity;using System.Data.Entity.Infrastructure;public partial class TestDBEntities : DbContext{public TestDBEntities(): base("name=TestDBEntities") //TestDBEntities為App.config中的數據庫連接字符串 {}protected override void OnModelCreating(DbModelBuilder modelBuilder){throw new UnintentionalCodeFirstException();}public DbSet<T_User> T_User { get; set; }} }TestModel.Designer.cs
TestModel.edmx.diagram
TestModel.tt
TestModel.tt模板是生成T_User實體類的模板
namespace EFDEMO1 {using System;using System.Collections.Generic;public partial class T_User{public int Id { get; set; }public string Name { get; set; }public string Password { get; set; }} }修改數據庫
當修改數據庫對象(如表),只需要在TestModel.edmx界面上右鍵點擊從數據庫更新模型,更新完成后保存即可自動生成相關代碼(如實體類)。
第三步 增刪改查
using System; using System.Data; using System.Linq; using System.Windows.Forms;namespace EFDEMO1 {public partial class Form1 : Form{TestDBEntities entity = new TestDBEntities();public Form1(){InitializeComponent();}/// <summary>/// 新增/// </summary>private void Add(){T_User model = new T_User(){Name = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")};entity.T_User.Add(model);entity.SaveChanges();Query();}/// <summary>/// 刪除/// </summary>private void Delete(){if (listBox1.SelectedItem == null){return;}int id = Convert.ToInt32(listBox1.SelectedItem.ToString().Split('-')[0]);T_User model = entity.T_User.Where(a => a.Id == id).FirstOrDefault();if (model != null){entity.Entry(model).State = EntityState.Deleted;entity.SaveChanges();Query();}}/// <summary>/// 修改/// </summary>private void Edit(){if (listBox1.SelectedItem == null){return;}int id = Convert.ToInt32(listBox1.SelectedItem.ToString().Split('-')[0]);T_User model = entity.T_User.Where(a => a.Id == id).FirstOrDefault();if (model != null){model.Name = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");entity.Entry(model).State = EntityState.Modified;entity.SaveChanges();Query();}}/// <summary>/// 查詢/// </summary>private void Query(){listBox1.Items.Clear();var expr = from p in entity.T_User select p;foreach (var item in expr){listBox1.Items.Add(string.Format("{0}-{1}", item.Id, item.Name));}}private void toolStripButton1_Click(object sender, EventArgs e){Add();}private void toolStripButton4_Click(object sender, EventArgs e){Edit();}private void toolStripButton3_Click(object sender, EventArgs e){Delete();}private void toolStripButton2_Click(object sender, EventArgs e){Query();}} }轉載于:https://www.cnblogs.com/cmhunter/p/4224818.html
總結
以上是生活随笔為你收集整理的Entity Framework系列之DataBase First的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 微众银行怎么注销?注销步骤详解
- 下一篇: 微众银行怎么样?四大好处让你心动
