在EF Core 2中添加新实体后更新范围实体

时间:2018-08-02 15:13:17

标签: c# entity-framework-core

我有两个相关表

public class FunctionLang
{
    public string FunctionId { get; set; }
    public string LangNo { get; set; }
    [ForeignKey("LangNo")]
    public virtual Language Language { get; set; }
}
public class Language 
{
    public string LangNo { get; set; }
    public string LangName { get; set; }
}

当我在Function Lang中添加新记录成功时,然后我通过updateRange更新Language中的记录

    public void UpdateRange(IEnumerable<Language> entity)
    {
         _dbSet.UpdateRange(entity);
         _dbcontext.savechange();
    }   

我在updateRange中收到此错误消息失败

  

不能跟踪实体类型“ Language”的实例,因为已经跟踪了另一个键值为“ Id:L00005”的实例。附加现有实体时,请确保仅附加一个具有给定键值的实体实例。

我找到了一些文章和他们添加的一些资源

 _dbcontext.Entry(entity).State = EntityState.Detached;

在函数更新中,但我使用updateRange,它无法输入实体 我怎样才能解决这个问题?

0 个答案:

没有答案