zoukankan      html  css  js  c++  java
  • EF架构——code first开发中,在修改实体时,自动影响到数据表上

    回到目录

    EF领域由code first,data first和model first三种模式,目前对于小型项目开发用code first就可以,操作灵活。

    使用code first模式时,如果当实体添加、修改后,如果希望直接反映到数据表上,需要做一些设置;

    比如,添加了一个userbase类型,希望把它反映到数据表上,我们可以这样做:

    image

    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);
               }
           }
         }
    这样当我们改变实体时,当有对新添加或者修改的实体进行引用,它的最新版本会直接反映到原始数据表上。


    回到目录
  • 相关阅读:
    iOS离屏渲染简书
    iOS Waxpatch项目(动态更新)
    waxpatch修改任意类的用法
    ios waxpatch lua语法
    ios WaxPatch热更新原理
    WaxPatch中demo注意问题
    ios wax热更新之安装wax(xcode7.3.1)
    获取第三方键盘高度(包括自带键盘高度)
    25个增强iOS应用程序性能的提示和技巧(高级篇)(2)
    JS基础_一元运算符
  • 原文地址:https://www.cnblogs.com/lori/p/2369872.html
Copyright © 2011-2022 走看看