我有一个头部和一个细节模型,它们之间有导航属性。我想获得包含详细信息的人头记录。这工作正常,但我得到的详细记录不包含我需要的所有属性,所以我尝试添加 Include()。EF Core 说ICollection<RequestDetail> does not contain a definition for 'Include'。我已经尝试过 List<> 导航类型,Microsoft.EntityFrameworkCore并且System.Linq都在我的使用中。我的模型:public class RequestHead{ public string Id { get; set; } public DateTime CreateDate { get; set; } public int CreateUserId { get; set; } [ForeignKey("CreateUserId")] public User CreateUser { get; set; } public virtual ICollection<RequestDetail> Details { get; set; }}public class RequestDetail{ [Key] public int Id { get; set; } public string RequestHeadId { get; set; } [ForeignKey("RequestHeadId")] public RequestHead RequestHead { get; set; } public DateTime CreateDate { get; set; } public int CreateUserId { get; set; } [ForeignKey("CreateUserId")] public User CreateUser { get; set; }}选择: var requests = (from r in _ctx.RequestHeads select new RequestDTO { AcceptDate = r.AcceptDate, AcceptUser = r.AcceptUser, AcceptUserId = r.AcceptUserId, Details = r.Details != null ? r.Details.Include(x => x.BuyerUser).Select(x => new RequestDetailDTO(x, x.Attachments.ToArray(), x.Product)).ToArray() : null});更新#1:这不是 Json.ReferenceLoopHandling 问题。它已经在 startup.cs 中被忽略了,我的问题是我不能在我的代码中使用 Include() ,而不仅仅是在 json 中没有必要的属性。
2 回答
![?](http://img1.sycdn.imooc.com/54586431000103bb02200220-100-100.jpg)
Cats萌萌
TA贡献1805条经验 获得超9个赞
如果在 .NET 上开发 - 请确保您使用的是 System.Data.Entity 命名空间。
using System.Data.Entity;
如果在 .NET Core 上 - 请改用 Microsoft.EntityFrameworkCore。
using Microsoft.EntityFrameworkCore;
- 2 回答
- 0 关注
- 423 浏览
添加回答
举报
0/150
提交
取消