完整的错误消息如下所示:“在分析父实体上的导航属性 'ModuleIds' 时,无法找到子类型 'System.Int32' 和父 'Company' 的任何子父关系。”
我使用 Dapper,最近我开始在以前工作的代码部分中收到此错误。将 Company 对象插入数据库时会发生这种情况
await DbConnection.InsertAsync(entity, options => options.AttachToTransaction(DbTransaction));
公司实体如下所示:
[Table("Company")]
public class Company : IEntity
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Name { get; set; }
...
public DateTime ModifiedAt { get; set; }
// Navigation properties (this property doesn't exist in the database table)
public List<int> ModuleIds { get; set; } = new List<int>();
}
我以前从未见过此消息,对于可能导致此问题的任何输入表示赞赏。
更新:
这个错误是在我将 Dapper.FastCrud nuget 包从 2.5.0.39 更新到 3.0.43 之后出现的。但是仍然不知道如何在不降级的情况下修复此错误。