我有这样的工作流程:
using dataContext
{
load entity
int? previousFr = entity.FrSomething
entity.FrSomething = null
entity.FrSomething = previousFr
save entity
}
在保存实体期间.FrSomething变为null,空值保存到数据库
这是dataContext.SaveChanges()和FrSomething属性setter之间的调用堆栈
UPD:它是实体框架4,自我跟踪模板。我有实体产品和组合框与产品类别。我加载产品进行编辑,列出类别以填充组合。产品最初指定了一些类别,并且在EF修复期间设置了相应的导航属性。然后我在组合框中选择无类别(FrCategory = null),然后选择产品最初的前一个。如果在选择无类别之后我选择其他类别然后选择其他类别,则不再复制问题。如果我使用Product.Category属性而不是Product.FrCategory更改类别,则不会再现问题。
任何帮助将不胜感激。 谢谢。