外键引用对象返回 null
Foreign key reference object is returning null
我在具有以下 属性 定义的实体中引用 AbpUser
table:
[ForeignKey("LocationManagerId")]
public virtual User LocationManager { get; set; }
public virtual long LocationManagerId { get; protected set; }
我的DTO如下:
[AutoMapFrom(typeof(Location))]
public class LocationDto : FullAuditedEntityDto<Guid>
{
// <snip>
public virtual User LocationManager { get; set; }
}
使用 AsyncCrudAppService
并从 MVC 控制器调用以下内容:
var locations = (await _locationAppService.GetAll(new PagedAndSortedResultRequestDto())).Items;
locations.LocationManager
返回 null
。我已确认实体和 DTO 中的所有内容都设置为 virtual
。我不知所措。有人有任何见解吗?
如果您使用的是 EntityFrameworkCore,则必须使用预先加载。
在 LocationAppService
中覆盖此方法:
protected override IQueryable<Location> CreateFilteredQuery(LocationGetAllInput input)
{
return Repository.GetAllIncluding(x => x.LocationManager);
}
我在具有以下 属性 定义的实体中引用 AbpUser
table:
[ForeignKey("LocationManagerId")]
public virtual User LocationManager { get; set; }
public virtual long LocationManagerId { get; protected set; }
我的DTO如下:
[AutoMapFrom(typeof(Location))]
public class LocationDto : FullAuditedEntityDto<Guid>
{
// <snip>
public virtual User LocationManager { get; set; }
}
使用 AsyncCrudAppService
并从 MVC 控制器调用以下内容:
var locations = (await _locationAppService.GetAll(new PagedAndSortedResultRequestDto())).Items;
locations.LocationManager
返回 null
。我已确认实体和 DTO 中的所有内容都设置为 virtual
。我不知所措。有人有任何见解吗?
如果您使用的是 EntityFrameworkCore,则必须使用预先加载。
在 LocationAppService
中覆盖此方法:
protected override IQueryable<Location> CreateFilteredQuery(LocationGetAllInput input)
{
return Repository.GetAllIncluding(x => x.LocationManager);
}