• 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;

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

  • 相关阅读:
    javascript
    vue-cli3 按需加载loading,服务的方式调用
    chrome devTool
    vuex
    git
    DNS寻址以及IP解析
    es6小记
    webpack 安装vue(两种代码模式compiler 和runtime)
    游戏屏幕朝向
    C#读写Json
  • 原文地址:https://www.cnblogs.com/zwyAndDong/p/8818142.html
Copyright © 2020-2023  润新知