.NET MVC5テンプレートをASPNETZEROの.NETコアMVCテンプレートに変換する処理中です。 MVC5のテンプレートソリューションで必要としているように、私が変換しているコードはすべて動作しています。私のメソッドコードを以下に示します。ASPNETBOILERPLATE - .NETの関連エンティティを返さないアプリケーションサービスメソッド
public async Task<EditCompanyDto> GetCompanyForEdit(NullableIdDto input)
{
var companyEditDto = (await _companyRepository.GetAsync((int)input.Id));
var cmp = companyEditDto.MapTo<EditCompanyDto>();
return cmp;
}
このコードは、MVC5テンプレートで完全に機能し、アドレス、連絡先、メモの関連エンティティを返します。 .NET Coreソリューションでは、この同じコードは上記のメソッドでAddressコレクションとContactコレクションのみを返します。これは、NoteコレクションをNULLとして戻し続けます。
以下は私の会社のエンティティです。私はこの記事のいくつかのフィールドを削除しましたが、すべてのナビゲーションプロパティを残しました。
public class Company : FullAuditedEntity, IMustHaveTenant
{
public string CompanyTaxId { get; set; }
public bool ActiveYesNo { get; set; }
public virtual NoteHeader Note { get; set; }
public virtual List<CompanyAddress> Addresses { get; set; }
public virtual List<CompanyContact> Contacts { get; set; }
public virtual int TenantId { get; set; }
public Company()
{
Addresses = new List<CompanyAddress>();
Contacts = new List<CompanyContact>();
}
}
遅延読み込みはEFコアでサポートされていません。 https://docs.microsoft.com/en-us/ef/core/querying/related-data#lazy-loading –
はい、私はその制限を認識しています。ただし、GetAsync()呼び出しで連絡先とアドレスコレクションが返されています。それはヌルに戻ってきているノートエンティティです。私はそれを理解していませんか? – exlnt
@exlnt https://stackoverflow.com/a/48403796/6527049 –