首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >实体框架核心包括过滤器

实体框架核心包括过滤器
EN

Stack Overflow用户
提问于 2016-12-09 16:08:04
回答 1查看 1.8K关注 0票数 1

我是C#和实体框架核心的新手。我找了很多这个问题,但没有找到答案。我有以下三种模式(我已将其简化):

代码语言:javascript
运行
复制
public class Exercise
{
    public int ExerciseId { get; set; }

    [Required]
    public string ExerciseName { get; set; }

    public string Filename { get; set; }

    public ICollection<ExerciseClinicalPicture> ExerciseClinicalPicture { get; set; }
}

public class ClinicalPicture
{
    [Key]
    public int ClinicalPictureId { get; set; }

    [Required]
    [Display(Name = "Krankheitsbild")]
    public string ClinicalPictureName { get; set; }

    public ICollection<ExerciseClinicalPicture> ExerciseClinicalPicture { get; set; }
}

public class ExerciseClinicalPicture
{
    [Key]
    public int ExerciseClinicalPictureId { get; set; }

    public int ExerciseId { get; set; }

    public Exercise Exercise { get; set; }

    public int ClinicalPictureId { get; set; }

    public ClinicalPicture ClinicalPicture { get; set; }
}

现在,我想要一个查询,其中的结果是所有练习的集合,这些练习与某个临床图片相关,并且包含了clinicalPicture

就像这样:

代码语言:javascript
运行
复制
int id = 1;
exercises = _context.Exercise.Where(e => e.ExerciseClinicalPicture.ClinicalPictureId == id)
.Include(m => m.ExerciseClinicalPicture)
.ThenInclude(m => m.ClinicalPicture);

此查询引发错误,因为我无法对ClinicalPictureId集合调用ExerciseClinicalPicture

希望我的问题是这样的。这是我第一次问关于Stackoverflow的问题。

非常感谢你的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-09 16:19:05

改变这一点:

代码语言:javascript
运行
复制
exercises = _context.Exercise.Where(e => e.ExerciseClinicalPicture.ClinicalPictureId == id)

对此:

代码语言:javascript
运行
复制
exercises = _context.Exercise.Where(e => e.ExerciseClinicalPicture.Any(ec => ec.ExerciseId == id))

基本上,“在运动的任何临床图片包含给定的锻炼ID的情况下,获取锻炼。”在您的模型中,ExerciseClinicalPicture是一个集合。你得再挖一遍。您的错误是该属性不存在,因为它是一个集合。

你就会这样质疑它。然后你就可以像平时一样做你的包括。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41064445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档