EF框架搭建小總結--ModelFirst模型優先

来源:http://www.cnblogs.com/txqx/archive/2017/10/18/7685401.html
-Advertisement-
Play Games

前言:去年剛工作的時候,也是剛剛正式接觸.net,當時瞭解了EF以及三種開發模式,Database First、Model First 、Code First。公司用的開發模式是Database First,由於公司有一套成熟的框架,我只需要按部就班的開發即可,因此就沒有詳細學習過這些開發模式,總覺 ...


前言:去年剛工作的時候,也是剛剛正式接觸.net,當時瞭解了EF以及三種開發模式,Database First、Model First 、Code First。公司用的開發模式是Database First,由於公司有一套成熟的框架,我只需要按部就班的開發即可,因此就沒有詳細學習過這些開發模式,總覺得缺點什麼。正好這段時間沒有什麼任務,並且在博客園瀏覽學習了很多大神的對技術、生活、職業、人生的一些總結,學習很多,這幾天對這三種開發模式有了進一步的理解。我覺得我也該學著給大家分享一些知識了,就先趁熱打鐵,把我對 ModelFirst的實現過程加以總結、分享下來,若有不當之處,還望各路大神多多指教

使用工具: win7操作系統,vs2012, sqlserver2008

開始:

1.新建項目:

 

 

2.在新建好的項目中新建ADO.NET實體數據模型,如下圖

點擊新建項後,彈出如下視窗:選中ADO.NET實體數據模型,填好新建項的名稱,

 點擊添加後,開始選擇模型內容,我們選擇空模型,點擊完成按鈕

新建完成後,在vs2012頁面上會彈出edmx關係圖,如下

 

3.新增實體

在edmx關係圖的空白處單擊滑鼠右鍵,添加實體

 

在彈出的視窗中添加實體內容,下圖是創建了一個student實體,主鍵為ID

為實體添加屬性:在student的屬性上右鍵新增標量屬性

在添加屬性後,右鍵選擇屬性,可以在右方的標記處對屬性進行修改

 

4 與資料庫關聯,生成相關數據表

在空白處單擊右鍵,選擇‘根據模型生成資料庫’,彈出資料庫連接視窗,點擊新建連接

在彈出的視窗點擊更改

 

選擇Microsoft SQL Server,點擊確定

 

在彈出的視窗中,填入你的資料庫相關信息

 

連接成功後,單擊下一步,

 

 

在彈出的視窗上點擊完成,成功與sql server關聯

 

 

完成上述操作後,Ctrl+Shift+S保存更新全部生成的頁面

 

執行生成的sql腳本,找到系統生成的sql腳本,右鍵執行,即可在關聯資料庫中創建表

 

生成的數據表:

 

 

 

5 往數據表中添加數據

在Program類中添加代碼

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ModelFirst
{
    class Program
    {
        static void Main(string[] args)
        {
            #region 添加數據
            //1.聲明上下文
            ModelFirstContainer dbContext = new ModelFirstContainer();
            //2.對資料庫的操作
            student st = new student();//實例化實體
           
            //為實體賦值
            st.ID = 1;
            st.NAME = "張三";
            st.AGE = "18";

            //增加實體到上下文
            dbContext.studentSet.Attach(st);
            dbContext.Entry(st).State = System.Data.EntityState.Added;

            //保存
            dbContext.SaveChanges();


            #endregion
        }
    }
}  

運行程式後,在數據表中成功添加新的數據,如下圖:

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • ...
  • vs2015卸載後註冊表還會存在vs2015的信息,下次安裝的時候會讀註冊表裡面記錄的路徑,不能自己選擇路徑。 解決方法: 1.在vs安裝文件的路徑打開命令,shift+滑鼠右鍵 2.輸入命令:cn_visual_studio_enterprise.exe/U /Force 3.經過第2步,程式會把 ...
  • 做慣了後臺的沐雨一向覺得數據列表是一個系統裡面最重要的東西 所以熟悉ext也就從表格開始入手了 想看官方代碼的同學進這裡 官方預設表格教程 或是直接看我的也行,直接拷貝過來的 另外官方文檔沒有中文版的讓我這個二級都沒過的學渣倍感壓力啊 1. Views部分代碼 官方文檔一直沒看到下圖Layout的代 ...
  • MemLoadDll.h MemLoadDll.cpp ...
  • 轉自:http://blog.csdn.net/jxufewbt/article/details/1769312 應用程式之間的數據交換(互相通訊)一直是困擾廣大程式員的難題,儘管已經出現了各式各樣的解決方案,但迄今為止沒有哪一種方案是完美無缺的。因此,只有學習並瞭解了它們的優缺點後,才能在特定的情 ...
  • string param = "<xml>" +"<ToUserName><![CDATA[toUser]]></ToUserName>" +"<FromUserName><![CDATA[fromUser]] ></FromUserName>" +"<CreateTime> 1348831860 ...
  • 很多C 的初學者都會有這麼一個疑問, .Net程式代碼是如何被機器載入執行的? 最簡單的解答是, C 會通過編譯器(CodeDom, Roslyn)編譯成IL代碼, 然後CLR(.Net Framework, .Net Core, Mono)會把這些IL代碼編譯成目標機器的機器代碼並執行. 相信大多 ...
  • 30分鐘?不需要,輕鬆讀懂IL http://www.cnblogs.com/brookshi/p/5225801.html IL指令詳細 http://www.cnblogs.com/zery/p/3368460.html 進階篇:以IL為劍,直指async/await http://www.cn ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...