调用 SaveChanges() 时列名 '' 无效

本文关键字:无效 SaveChanges 调用 | 更新日期: 2023-09-27 18:37:08

我有这些生成的类:

public partial class BookCategoryMapping
{
    public int Id { get; set; }
    public int CategoryPropertyId { get; set; }
    public int GroupId { get; set; }
    public string Value { get; set; }
    public int OperatorId { get; set; }
    public virtual CategoryProperties CategoryProperties { get; set; }
    public virtual Group Group { get; set; }
    public virtual Operator Operator { get; set; }
}
public partial class Operator
{
    public Operator()
    {
        this.BookCategoryMapping = new HashSet<BookCategoryMapping>();
    }
    public int Id { get; set; }
    public string Name { get; set; }
    public virtual ICollection<BookCategoryMapping> BookCategoryMapping { get; set; }
}

但是每当我调用此方法时,更新都会为假。我得到

列名"操作员 ID"无效

public void SaveBookCategoryMapping(BookCategoryMapping bookCategoryMapping, bool update)
    {
        if (update)
            _context.Entry(bookCategoryMapping).State = EntityState.Modified;
        else
            _context.BookCategoryMapping.Add(bookCategoryMapping);
        _context.SaveChanges();
    }

我不知道它是如何无效的,因为这两个类都是从 EDMX 模型生成的。

编辑:我尝试在SSMS中编写插入脚本。我承认该专栏在这里。但是插入仍然失败。

调用 SaveChanges() 时列名 '' 无效

删除表并重新创建它解决了问题。