0
我有這些生成的類:無效的列名「」調用的SaveChanges()時
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; }
}
但每當我把這種方法,具有更新錯誤的。我得到
無效的列名稱OperatorId「
public void SaveBookCategoryMapping(BookCategoryMapping bookCategoryMapping, bool update)
{
if (update)
_context.Entry(bookCategoryMapping).State = EntityState.Modified;
else
_context.BookCategoryMapping.Add(bookCategoryMapping);
_context.SaveChanges();
}
我不知道,因爲這兩個類是從EDMX模型生成如何能夠無效。
編輯:我已經嘗試過在SSMS中插入腳本。我承認這個專欄在這裏。但插入仍然失敗。
您可以驗證數據庫中是否存在「OperatorId」列。生成EDMX時,你使用了數據庫優先方法嗎?歡呼聲 –
@TKelly EDMX首先生成數據庫,是的。我也檢查了數據庫。該列確實存在:-( –
插入和更新路由都崩潰了?生成了什麼SQL?https://msdn.microsoft.com/en-us/data/dn469464.aspx?f=255&MSPPError=-2147217396 –