Entity Framework ModelFirst嘗試


前言

Model First我們稱之為“模型優先”,這里的模型指的是“ADO.NET Entity Framework Data Model”,此時你的應用並沒有設計相關數據庫,在Visual Studio中我們通過設計對於的數據模型來生成數據庫和數據類。

簡單演示使用過程

第一步:首先還是添加一個簡單的控制台應用程序,然后在此項目上添加一個 ADO.NET 實體數據模型。

第二步:選擇空模型。

第三步:在模型設計視圖中,添加新實體

點擊確定后

第四步:在Order實體上在添加兩個屬性,Customer(訂單所屬客戶)類型為string,OrderDate(訂單下單日期)類型為DateTime

字段類型設置,就在當前字段右鍵===>>>屬性然后找到類型設置即可。

第五步:再添加一個實體OrderDetail訂單詳細,Product產品

第六步:我們添加二者之間的關系,“Order”和“OrderDetail”是一對多的關系,“Order”可以通過“OrderDetails”屬性訪問“OrderDetail”實體,“OrderDetail”可以通過“Order”屬性訪問“Order”實體,並且添加了一個外鍵約束到“OrderDetail”中

點擊確定,添加之后的關系為

到目前為止Model First中的Model已經創建結束,下面就需要生成到數據庫了,在模型設計視圖空白處選擇“根據模型生成到數據庫…”:

並且確保數據庫中已經存在一個空白數據庫

第七步:選擇並添加數據鏈接

 然后點擊下一步后,會看到如下界面

然后再點擊完成即可,看到生成的Sql腳本。

再然后,右鍵Sql腳本,點擊執行

最終數據庫的此數據庫多了兩個表

簡單代碼測試

 

    class Program
    {
        static void Main(string[] args)
        {
            using (var db = new ModelTestContainer())
            {
                Order Order = new Order();
                Order.Customer = "aehyok";
                Order.OrderDate = DateTime.Now;
                db.Orders.Add(Order);
                db.SaveChanges();

                IQueryable<Order> Orders = from Orderes in db.Orders
                                           select Orderes;
                foreach (Order O in Orders)
                {
                    Console.WriteLine("OrderID is {0},Customer is {1}", O.ID, O.Customer);
                }
            }
            Console.ReadLine();
        }
    }

 運行效果為

運行了兩次,所以添加兩條數據。

注意:如果我們的模型發生改變,只需要在模型設計視圖修改模型,讓后保存此時實體類就會相應改變,然后選擇“從模型生成到數據庫”重新執行生成的腳本即可。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM