日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

案例实作图解.Net Entity Framework 教程

發布時間:2025/4/14 asp.net 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 案例实作图解.Net Entity Framework 教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

案例實作圖解.Net Entity Framework 教程


? ? 可以跟隨我操作成功的截圖一步步進行實作。


第零章 ?Entity Framework資源鏈接和版本

一 資源鏈接

? ? Microsoft的EF鏈接:

https://msdn.microsoft.com/en-us/data/aa937723.aspx


二 版本

? ? 截至今日-2015年2月,EF的最新版本為6.1。


?第一章 使用VS2012+Entity Framework 6.1 開發Winform版本的超市管理系統

一 關于用Nuget程序包管理器安裝EF 6.1

? ? 網上有甚多教程講述使用Nuget程序包管理器安裝EF 6.1。經鄙人證明,用Nuget程序包管理器安裝EF 6.1,是針對單個解決方案的。首先新建一個Form項目SuperMarket,選擇菜單 項目-管理Nuget程序包 ,如下圖;


? ? 沒有已經安裝的包;以前曾經建立一個空項目EF1,用NuGet安裝過EF6.1,如下圖;


? ? 在SuperMarket中選擇最近的程序包,如下圖;


點擊安裝進行安裝;


安裝之前和之后,解決方案SuperMarket的目錄結構分別如下:



? ? 由圖可見,安裝之后,在解決方案下添加packages文件夾,其中包含EF6.1的lib和tool;同時在項目中自動添加引用,如下圖;



二 建立主窗體和添加商品窗體,用EF6.1 瀏覽和添加商品

1 數據庫

? ? 項目所有Sql Server數據庫下載:

http://pan.baidu.com/s/1bn50Oij

? ? 下載后導入Sql Server,即可繼續進行后續;

2 建立主窗體,添加商品窗體,添加實體數據模型

? ? 主窗體頂部為菜單,左側添加一個TreeView,設計時在TreeView任務中按超市管理內容編輯節點;添加商品窗體和普通添加記錄型窗體。

? ? 右擊項目,添加新項,添加ADO.NET實體數據模型,


? ? 完成后項目結構如下;


? ? 在項目中多出了superMarketModel.edmx。


3 實現商品瀏覽

? ? 在主窗體中添加窗體級變量:

SuperMarketEntities smef;


? ? 在窗體啟動事件中生成:

smef = new SuperMarketEntities();


? ? 在TreeView的節點選中事件中添加代碼如下:

? ? ? ? private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
? ? ? ? {
? ? ? ? ? ? switch (e.Node.Text)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? case "商品瀏覽":
? ? ? ? ? ? ? ? ? ? var shpquery = smef.Merchandise; ? ?//Merchandise為商品表
? ? ? ? ? ? ? ? ? ? var list = shpquery.ToList();
? ? ? ? ? ? ? ? ? ? dataGridView1.DataSource = list;
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? case "新增商品":
? ? ? ? ? ? ? ? ? ? af = new addShpForm();
? ? ? ? ? ? ? ? ? ? af.ShowDialog();
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? default:
? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? }
? ? ? ? }

? ? 在不用EF時返回整個表通常是一個DataSet;使用EF時則返回的一個List,把該List賦值給grid控件的DataSource屬性即可;運行,結果如下圖:



4 實現添加商品

? ? 在addShpForm添加窗體級變量:

SuperMarketEntities smef;


? ? addShpForm啟動事件:

? ? ? ? ? ? smef = new SuperMarketEntities();
? ? ? ? ? ? var query = smef.Sort;
? ? ? ? ? ? foreach (Sort c in query)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? comboBox1.Items.Add(c.SortName);
? ? ? ? ? ? }

? ? 在窗體啟動時獲取商品類別表類別名稱字段的所有內容添加到comboBox1,以供錄入數據時選擇;


? ? 添加商品按鈕事件代碼:

? ? ? ? //添加商品
? ? ? ? private void button1_Click(object sender, EventArgs e)
? ? ? ? {
? ? ? ? ? ? try
? ? ? ? ? ? {
? ? ? ? ? ? ? ? int sequencenum=smef.Database.ExecuteSqlCommand("select max(sequencenumber) from merchandise");
? ? ? ? ? ? ? ? sequencenum=sequencenum+1;


? ? ? ? ? ? ? ? Merchandise m = new Merchandise();
? ? ? ? ? ? ? ? m.MerchandiseNumber = textBox1.Text;
? ? ? ? ? ? ? ? m.TreatyCode = textBox2.Text;


? ? ? ? ? ? ? ? string sortname="";
? ? ? ? ? ? ? ? switch(comboBox1.Text)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? case "電器類":
? ? ? ? ? ? ? ? ? ? ? ? sortname="DQ1004";
? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? case "禮品類":
? ? ? ? ? ? ? ? ? ? ? ? sortname="LP1006";
? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? case "日用品":
? ? ? ? ? ? ? ? ? ? ? ? sortname="RY1005";
? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? case "蔬果類":
? ? ? ? ? ? ? ? ? ? ? ? sortname="SG1003";
? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? case "食品類":
? ? ? ? ? ? ? ? ? ? ? ? sortname="SP1002";
? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? case "生鮮類":
? ? ? ? ? ? ? ? ? ? ? ? sortname="SX1001";
? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? ? ? default:
? ? ? ? ? ? ? ? ? ? ? ? break;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? m.SortNumber=sortname;


? ? ? ? ? ? ? ? m.RetailPrice=Convert.ToDecimal(textBox3.Text);
? ? ? ? ? ? ? ? m.MerchandiseName=textBox4.Text;
? ? ? ? ? ? ? ? m.MerchandiseSpec=textBox5.Text;
? ? ? ? ? ? ? ? m.Units=textBox6.Text;
? ? ? ? ? ? ? ? m.PurchasePrice=Convert.ToDecimal(textBox7.Text);
? ? ? ? ? ? ? ? m.CheckTerm=Convert.ToDecimal(textBox8.Text);
? ? ? ? ? ? ? ? m.Remark=textBox9.Text;
? ? ? ? ? ? ? ? smef.Merchandise.Add(m);
? ? ? ? ? ? ? ? smef.SaveChanges();
? ? ? ? ? ? }
? ? ? ? ? ? catch (Exception ex)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? MessageBox.Show(ex.Message);
? ? ? ? ? ? }

? ? ? ? }

? ? 商品表第一個字段為整型的sequencenumber,每添加一個記錄,獲取該字段最大值,然后加1,賦給新記錄;此處使用在EF中直接執行SQL來獲取最大值;

? ? ? ? smef.Database.ExecuteSqlCommand("select max(sequencenumber) from merchandise");

? ? 后面的代碼把文本框的值賦給Merchandise對象m;添加m,保存修改即可,如上代碼所示;運行,結果如下圖;

?

添加成功:


? ? 這樣我們就通過EF實現了在商品表中添加生鮮類商品“金條”的操作。

總結

以上是生活随笔為你收集整理的案例实作图解.Net Entity Framework 教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。