我正在使用sqlite内存数据库编写具有ef核心的集成测试。这是代码:
using
上面的代码引发以下错误
收藏集为只读
错误。但是,如果我注释掉第二个using
块并取消注释第一个Customer
块内的行,则会检索记录并通过测试。
这是我的 public class Customer : BaseEntity<Guid>, IAggregateRoot
{
private Customer()
{
// required by EF
}
public Customer(string name, List<Ride> rides)
{
Name = name;
_rides = rides;
}
public string Name { get; set; }
private readonly List<Ride> _rides = new List<Ride>();
public IReadOnlyCollection<Ride> Rides => _rides.AsReadOnly();
}
班:
{{1}}
我很困惑。谁能解释为什么?
谢谢
答案 0 :(得分:0)
启用以下配置可解决此问题。
var navigation = builder.Metadata.FindNavigation(nameof(Customer.Rides));
navigation.SetPropertyAccessMode(PropertyAccessMode.Field);
感谢并感谢Ivan Stoev的指导。