我正在尝试创建一个实体类,它将通过只读属性公开相关集合,如下所示:
public class MyEntity: Entity
{
public int Id{ get; private set; }
private IList<RelatedEntity> _relatedEntities = new List<RelatedEntity>();
public IReadOnlyList<RelatedEntity> RelatedEntities => _relatedEntities.ToList().AsReadOnly();
}
构建器类如下所示:
public void Configure(EntityTypeBuilder<MyEntity> builder)
{
builder.HasKey(x=>x.Id);
builder.Property<IReadOnlyList<RelatedEntity>>("RelatedEntities")
.HasField("_relatedEntities ")
.UsePropertyAccessMode(PropertyAccessMode.Field);
}
它可以构建,但在运行时崩溃,但有以下例外:
InvalidOperationException:指定字段“_latedEntities”;类型为“IList”;不能用于属性“MyEntity.RelatedEntities”类型为“IReadOnlyList”。只能使用可从属性类型分配的类型的支持字段。
您能提供一个如何处理这个问题的工作示例吗?
收到一只叮咚
aluckdog
繁花不似锦
牛魔王的故事
相关分类