Je suis en train de convertir mon modèle .NET MVC5 en .NET Core MVC modèle de ASPNETZERO. Donc, tout le code que je convertis fonctionne exactement comme j'ai besoin de ma solution de template MVC5. Mon code de méthode est montré ci-dessous.ASPNETBOILERPLATE - Méthode de service d'application ne renvoyant pas d'entités liées dans .NET Core
public async Task<EditCompanyDto> GetCompanyForEdit(NullableIdDto input)
{
var companyEditDto = (await _companyRepository.GetAsync((int)input.Id));
var cmp = companyEditDto.MapTo<EditCompanyDto>();
return cmp;
}
Ce code fonctionne parfaitement dans le modèle MVC5 et renvoie les entités connexes d'adresse, de contact et de note. Dans la solution .NET Core, ce même code renvoie uniquement les collections Address et Contact dans la méthode ci-dessus. Il continue à renvoyer la collection Note comme NULL.
L'illustration ci-dessous représente l'entité de mon entreprise. J'ai supprimé certains champs pour ce post, mais j'ai laissé toutes les propriétés de navigation.
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>();
}
}
Le chargement différé n'est pas pris en charge par EF Core. https://docs.microsoft.com/en-us/ef/core/querying/related-data#lazy-loading –
Oui, je suis conscient de cette limitation. Toutefois, les contacts et les collections d'adresses sont renvoyés avec mon appel GetAsync(). C'est juste l'entité de note qui revient null. Je ne comprends pas cela? – exlnt
@exlnt vous pouvez vous référer à https://stackoverflow.com/a/48403796/6527049 –