中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

EF架構(gou)——code first開發(fa)中,在修改實體時,自動影響到數據(ju)表上

回到目錄

EF領域由code first,data first和model first三種模式,目(mu)前(qian)對(dui)于小型項目(mu)開發用code first就可以,操作靈活。

使用code first模式時,如果(guo)(guo)當(dang)實體添加、修改后(hou),如果(guo)(guo)希望直接(jie)反映到數(shu)據表上,需要做一些設(she)置(zhi);

比如(ru),添加了(le)一個userbase類型,希望把它(ta)反(fan)映到(dao)數據(ju)表上,我們可以(yi)這樣做:

public class DataContext : DbContext, IDataContext
   {
   public DataContext()
           : base(DataContext.GetCS())
       {
         InitDbSets();
       }
   public IDbSet<Category> Categorys { get; private set; }
private void InitDbSets()
      {
    UserBases = this.Set<UserBase>();
    Init();
   }
public static void SetInitializer(InitializerTypes InitType)
       {
           switch (InitType)
           {
               case InitializerTypes.Standard:
                   Database.SetInitializer(new StandardInitializer());
                   break;
               case InitializerTypes.ReCreateAlWays:
                   Database.SetInitializer(new ReCreateInitializer());
                   break;
               case InitializerTypes.ReCreateByModify:
                   Database.SetInitializer(new ReCreateWhenModifiedInitializer());
                   break;
               default:
                   break;
           }
       }
       /// <summary>
       /// DBContext初始化
   /// </summary>
       public static void Init()
       {
           Database.DefaultConnectionFactory = new SqlConnectionFactory();
           if (System.Diagnostics.Debugger.IsAttached)
           {
               DataContext.SetInitializer(DataContext.InitializerTypes.ReCreateByModify);
           }
           else
           {
               DataContext.SetInitializer(DataContext.InitializerTypes.Standard);
           }
       }
     }
這樣當我們改變實體時,當有對新添加或者修改的實體進行引用,它的最新版本會直接反映到原始數據表上。


回到目錄
posted @ 2012-02-27 15:03  張占嶺  閱讀(5440)  評論(1)    收藏  舉報