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();

  • 相关阅读:
    Linux之网络ping(unknown host)故障及yum no more mirrors to try
    vim 中与编码有关的选项
    linux系统时间设定
    linux查看物理cpu的核数,个数,逻辑cpu的个数
    简单的api实现以及动态函数调用
    python2.7 urllib和urllib2
    四级菜单实现二
    四级菜单实现一
    url请求特殊字符转换
    tomcat配置
  • 原文地址:https://www.cnblogs.com/sunliwang/p/6544427.html
Copyright © 2011-2022 走看看