標籤: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="data source=.;initial catalog=dbdata;user id=sa;password=123456789;MultipleActiveResultSets=True;App=EntityFramework"" 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架構