zoukankan      html  css  js  c++  java
  • Entity Framework 中遇到的一些小问题

    一、在多表关联中,一个表中有另一个表的model累,在Include方法里提示lambda表达式不是委托类型,这时候需要using System.Data.Entity;

    二、插入数据时,主键并非自增的时候,这个时候插入会报错,无论你怎么赋值ID,ef都是取不到的

    两种解决办法:

    1.modelBuilder.Entity<PostBody>().Property(p => p.ID)
    .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None); 标记主键属性

    2.在model类上标记属性

    public class Model
    {
    [DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int ID { get; set; }
    }

    三、修改的时候这样写有时候会发现数据库数据没有跟新

    var token = ctx.RedAccessTokens.AsNoTracking().Where(e => e.Comid == comid).FirstOrDefault();
    token.AccessToken = AccessToken;
    token.Expiresin = Expiresin;
    token.CreateTime = DateTime.Now.ToString();
    ctx.SaveChanges();

    这时候需要在ctx.SaveChanges();之前把改实体模型状态改为,未更新

    ctx.Entry(token).State= System.Data.Entity.EntityState.Modified;

    这时候数据库数据就会更新了

  • 相关阅读:
    linux基础_用户和组的三个文件
    python_文件
    linux基础_用户组的管理
    mysql基础_数据类型
    mysql基础_操作数据库、表、记录
    linux基础_用户管理
    python_集合
    linux基础_关机重启注销
    docker创建私有仓库
    制作docker镜像
  • 原文地址:https://www.cnblogs.com/zwyAndDong/p/8818142.html
Copyright © 2011-2022 走看看