zoukankan      html  css  js  c++  java
  • CodeFirst的一些操作!!

    CodeFirst的一些操作!!

    转载 2016-08-05 21:03:32

    1 首先是codefirst怎么做,这个首先肯定要引入EntityFramework,然后在model中创建实体类,例如书籍与出版社publisher和book两个实体类,然后再publisher里有个字段是Icolloction,因为一个出版社有很多书,而书只属于一个出版社,然后再配置实体的数据类型EntityTypeConfiguration,然后在Dbcontext中的OnCreating方法中增加这些配置就可以了。

    2 接下来就是可能会发生代码迁移,那就是用Enable-Migrations和update-database,就在包管理器的控制台下输入命令就可以了。

    ​​​​​3 说说遇到的问题吧,codefirst有一个缺点就是当字段标记为主键时EF会认为这个标记为标识列,但是数据库却不同步,所以会产生错误。幸亏EF提供了许多特性,利用DatabaseGenerated(DatabaseGeneratedOption.None)就可以防止标记为标识列。也可以在设置约束的时候进行这个配置。

    4 关于增删改查。

    1)​ 增:DbContext.Entitys.Add(entity);

               DbContext.saveChanges();

    2)删:DbContext.Entitys.Attach(entity);

                DbContext.Entitys.Remove(entity);​

                DbContext.savechanges();

    3) 改:DbContext.Entitys.Attach(entity);

               DbContext.Entry(entity).state=EntityState.Modified;

               DbContext.savechanges();

  • 相关阅读:
    mysql(一) 关联查询的方式
    SpringBoot2.0(五) CORS跨域
    SpringBoot2.0(四) 远程调试
    SpringBoot2.0(三) 文件上传
    SpringBoot2.0(二) 配置文件多环境
    SpringBoot2.0(一) mybatis
    Java InputStream转File
    git 命令学习
    reids 中出现 (error) MOVED 原因和解决方案
    ibm 的 heapanalyzer 分析器
  • 原文地址:https://www.cnblogs.com/sunliwang/p/6544427.html
Copyright © 2011-2022 走看看