为了账号安全,请及时绑定邮箱和手机立即绑定

EF Core ICollection 不包含“包含”的定义

EF Core ICollection 不包含“包含”的定义

C#
莫回无 2021-10-24 19:12:06
我有一个头部和一个细节模型,它们之间有导航属性。我想获得包含详细信息的人头记录。这工作正常,但我得到的详细记录不包含我需要的所有属性,所以我尝试添加 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 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

如果在 .NET 上开发 - 请确保您使用的是 System.Data.Entity 命名空间。

using System.Data.Entity;

如果在 .NET Core 上 - 请改用 Microsoft.EntityFrameworkCore。

using Microsoft.EntityFrameworkCore;


查看完整回答
反对 回复 2021-10-24
  • 2 回答
  • 0 关注
  • 423 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信