無edmx手動建立EF架構

來源:互聯網
上載者:User

標籤:des   style   blog   http   io   ar   color   os   使用   

現在剛開始來研究EntityFramwork,起初是在vs2012中通過工具來建立EF ,但是對我這種不熟悉菜鳥來說 有很多業務用EF做出來還是有點難度的,今天來手動搭建一個EF架構,大神勿噴

首先:建立一個類Menu        引用命名空間,因為表需要一個外鍵映射到主鍵

using System.ComponentModel.DataAnnotations;

 建立類的時候在主鍵上添加唯一識別碼[Key],EF不然執行會報錯

 public partial class Menu    {        [Key]        public int MId { get; set; }        public int MPId { get; set; }        public string MName { get; set; }        public string MIco { get; set; }        public string MLink { get; set; }        public int MSort { get; set; }        public string MRemark { get; set; }        public bool MIsShow { get; set; }        public bool MIsDel { get; set; }        public System.DateTime MAddTime { get; set; }    }

第二步:建立EF內容物件

 

public  class DbContextFactory:DbContext    {              protected override void OnModelCreating(DbModelBuilder modelBuilder)        {            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();//移除複數表名的契約           }              public DbSet<Menu> Menus { get; set; }    }

 

第三步:配置Webconfig 第一次配置會出現“不支援關鍵字: "data source” 這是因為metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl這段語句裡面修改相對應命名空間的名稱

 <add name="DbContextFactory1" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=dbdata;user id=sa;password=123456789;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
View Code

 

 

然後問題出現了“無法載入指定的中繼資料資源”  然後第二次修改資料配置

<add name="DbContextFactory" connectionString="Server=.;Database=dbdata;Uid=sa;Pwd=123456789;Pooling=true;Connection Lifetime=300;packet size=1000" providerName="System.Data.SqlClient" />

經過修改第二次修改設定檔 ,手動建立EF架構完成,不緊可以用EF使用簡單的商務邏輯,如果不熟悉的也可以在此基礎上添加添加複雜的資料層操作,注意:Webconfig配置頁面的時候 name應該和你建立的EF內容物件的名稱一致

 

無edmx手動建立EF架構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.