【问题标题】:How to access the items inside the result of my query?如何访问我的查询结果中的项目?
【发布时间】:2013-10-11 19:44:57
【问题描述】:

这是我的代码的 sn-p:

using (var uow = new UnitOfWork())
{
    //ItemType itself
    ItemType itemType1 = uow.ItemTypeRepository.Get(i => i.Name == "ServerTypeList").FirstOrDefault();
    Assert.IsTrue(itemType1.ID != null);

    var itemType2 = uow.ItemTypeRepository.Get(i => i.Name == "ServerTypeList", orderBy: o => o.OrderBy(d => d.Name), includeProperties: "Items");
    //itemType2[0].
...

我正在尝试列出 itemType2 中的所有项目(“Get”方法返回一个 IEnumerable):

【问题讨论】:

标签: entity-framework ienumerable


【解决方案1】:

itemType2.First().Items[0] 有什么问题?

这是有效的,因为itemType2 是一个序列。根据您在调试器中看到的内容,它只有一个元素。如果它总是只有一个元素,那么你应该改用itemType2.Single().Items[0]

这个序列的每个元素都有一个Items 属性,它看起来是一个列表或数组或其他可以索引的东西,所以一旦你到达那里,你可以像上面那样索引它,或者你可以迭代在它上面:

foreach (var item in itemType2.Single().Items)
{
    // Do something with each item in the sequence
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-10
    • 2010-11-25
    • 2021-05-06
    • 2018-03-04
    • 1970-01-01
    相关资源
    最近更新 更多