我想检索一个给定的口袋妖怪的邂逅列表,因为口袋妖怪可以在很多地方遇到,所以我一直在尝试很多变种
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怎么样?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。