EF Core 5 - 支持字段:找不到 属性 的指定字段
EF Core 5 - Backing field: specified field could not be found for property
我正在尝试创建一个由 JSON 字符串组成的支持字段,然后由模型的 属性 访问该字符串并转换为 JObject:
public class StaticTable
{
public int StaticTableId { get; set; }
private string _staticData { get; set; }
public JObject StaticData
{
get => JsonConvert.DeserializeObject<JObject>(string.IsNullOrEmpty(_staticData) ? "{}" : _staticData);
set => _staticData = value.ToString();
}
public static void RunFluent(ModelBuilder modelBuilder)
{
EntityTypeBuilder<StaticTable> entity = modelBuilder.Entity<StaticTable>();
entity.Property(s => s.StaticData).HasField("_staticData");
}
}
创建迁移时,我收到以下错误:
System.InvalidOperationException: The specified field '_staticData' could not be found for property 'StaticTable.StaticData'.
注意RunFluent
是在DbContext.OnModelCreating
中执行的
尝试使用私有变量而不是 属性
private string _staticData;
我正在尝试创建一个由 JSON 字符串组成的支持字段,然后由模型的 属性 访问该字符串并转换为 JObject:
public class StaticTable
{
public int StaticTableId { get; set; }
private string _staticData { get; set; }
public JObject StaticData
{
get => JsonConvert.DeserializeObject<JObject>(string.IsNullOrEmpty(_staticData) ? "{}" : _staticData);
set => _staticData = value.ToString();
}
public static void RunFluent(ModelBuilder modelBuilder)
{
EntityTypeBuilder<StaticTable> entity = modelBuilder.Entity<StaticTable>();
entity.Property(s => s.StaticData).HasField("_staticData");
}
}
创建迁移时,我收到以下错误:
System.InvalidOperationException: The specified field '_staticData' could not be found for property 'StaticTable.StaticData'.
注意RunFluent
是在DbContext.OnModelCreating
尝试使用私有变量而不是 属性
private string _staticData;