EF Core 5 - 支持字段:找不到属性的指定字段
Posted
技术标签:
【中文标题】EF Core 5 - 支持字段:找不到属性的指定字段【英文标题】:EF Core 5 - Backing field: specified field could not be found for property 【发布时间】:2021-12-13 09:21:01 【问题描述】:我正在尝试创建一个由 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
中执行
【问题讨论】:
【参考方案1】:尝试使用私有变量而不是属性
private string _staticData;
【讨论】:
以上是关于EF Core 5 - 支持字段:找不到属性的指定字段的主要内容,如果未能解决你的问题,请参考以下文章
EF Core - 属性“JObject.Next”不是虚拟的
iOS 5/Lion Core Data 有序关系:指定顺序?
使用 EF Core 搭建 MySql 数据库的问题 - 找不到方法:无效 Microsoft.EntityFrameworkCore.Storage.RelationalTypeMapping
DB First,ASP Net Core 2.1,EF6:InvalidOperationException:在应用程序配置文件中找不到名为“DataContext”的连接字符串