我有一些模型类,用作Entity Framework的Code First模型。我有一些属性不是数据库模式的一部分,并且为了确保Entity Framework不会混淆,我已经在这些属性上标记了
然而,最近我将
我看到这个问题之前已经出现过,不涉及Entity Framework的上下文,在这个问题中(没有答案):应用[JsonIgnore]属性会导致DataAnnotation属性"丢失" 这是C#属性系统中一个被理解的行为吗?还是它只适用于
[NotMapped]
属性。当我为模型生成Code First迁移时,这些属性被正确忽略。然而,最近我将
[JsonIgnore]
属性添加到相同的属性中,因为模型类正在进行序列化/反序列化,这些属性不适合包含在序列化中。这也很好地工作了,但它产生了非常奇怪的结果:EF Code First迁移不认识[NotMapped]
属性。现在我遇到了这个错误,Entity Framework认为模型类与数据库不同步,但当我生成新的迁移时,它认为需要添加所有先前未映射的属性列。删除这些属性的[JsonIgnore]
属性可以解决这个问题。我看到这个问题之前已经出现过,不涉及Entity Framework的上下文,在这个问题中(没有答案):应用[JsonIgnore]属性会导致DataAnnotation属性"丢失" 这是C#属性系统中一个被理解的行为吗?还是它只适用于
[JsonIgnore]
属性-如果是,是什么引起了这个问题?