c# – EF6 Linq Query.仅包含返回子表的第一个条目

c# – EF6 Linq Query.仅包含返回子表的第一个条目,第1张

概述我想检索一个给定的口袋妖怪的邂逅列表,因为口袋妖怪可以在很多地方遇到,所以我一直在尝试很多变种 var currentPokemon = _context.Pokemon .Where(mon => mon.Id == id) .Include(mon 我想检索一个给定的口袋妖怪的邂逅列表,因为口袋妖怪可以在很多地方遇到,所以我一直在尝试很多变种

var currentPokemon = _context.Pokemon                                     .Where(mon => mon.ID == ID)                                     .Include(mon => mon.Encounters)                                     .FirstOrDefault();

结果是一个包含所有相关数据的Pokemon对象,但只有FirsT遭遇被检索并放入一个集合中,结果如下:

看看这个数据库,大约有20次遇到caterpIE,我想要访问所有这些,但只是得到了它.

Pokemon类的外观(省略了相关字段):

[table("pokemon")]public partial class Pokemon {    public Pokemon()    {        Encounters = new HashSet<Encounters>();    }    [Column("ID")]    public long ID { get; set; }    [required]    [Column("IDentifIEr",Typename = "VARCHAR(79)")]    public string IDentifIEr { get; set; }    .    .    .    [InverseProperty("Pokemon")]    public virtual ICollection<Encounters> Encounters { get; set; } }

邂逅的样子:

public partial class Encounters {    .    .    .    [ForeignKey("PokemonID")]    [InverseProperty("Encounters")]    public virtual Pokemon Pokemon { get; set; }}

Db数据:

我在这里误解了什么?

解决方法 我认为这是因为你正在调用.FirstOrDefault(),它只获取第一个项目.你可以省略并添加.ToList()吗?另外,var currentPokemon似乎不是一个好的变量名.你说你想要一份遭遇者名单,对吧? var pokemonEncounters怎么样? 总结

以上是内存溢出为你收集整理的c# – EF6 Linq Query.仅包含返回子表的第一个条目全部内容,希望文章能够帮你解决c# – EF6 Linq Query.仅包含返回子表的第一个条目所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1227131.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存