我正在使用EF Core
API,其中Explicitly
/ Lazy loaded
的属性很少。但是当我尝试时,它抛出了一些异常,
型号:
public int NationalityId { get; set; }
[NotMapped]
public Country Nationality { get; set; }
Repo:
RepositoryContext.Entry(user).Reference(x => x.Nationality).Load();
这让我"Property Nationality cannot be found on the entity User"
也尝试了virtual
而不是[NotMapped]
和这个,
modelBuilder.Entity<User>().Ignore(x => x.Nationality);
当我删除"[NotMapped]"
属性并尝试时,出现以下错误,
"Column name NationalityId1 cannot be found" ==> SQLException
对于延迟加载也发生了同样的情况-我使用ILazyLoader
,并且尝试过,
型号:
[NotMapped]
public Country Nationality
{
get => LazyLoader?.Load(this, ref _nationality);
set => _nationality = value;
}
有人可以帮助我解决问题并同时使用两种数据加载技术吗?
注意:我正在使用EFCore 2.2.4
而不是忽略/ NotMap相关的实体,您应该教EF实体之间的关系。当您使用DataAnottation属性时。您可以使用ForeignKeyAttribute
[ForeignKey("Nationality")]
public int NationalityId { get; set; }
public Country Nationality { get; set; }