如果可能,我希望通过单个数据库查询执行以下操作。
public class Location
{
public string URL {get;set;}
public IList<Page> Pages {get;set;}
}
Page firstPage = Session.Linq<Location>()
.Where(location => location.URL == "some-location-url")
.Select(location => location.Pages).FirstOrDefault();
我的目标是根据当前位置 url,返回其 pages 集合中的第一个 Page 对象。
我现在已经尝试了很多不同的方法,它们似乎都执行了很多查询来获取所需的 Page 对象。
感谢任何帮助!
忍者戴夫p>
最佳答案
这可能是您要寻找的:
Page firstPage = Session.Linq<Page>()
.OrderBy(page => page.Index)
.FirstOrDefault(page=> page.Location.URL == "some-location-url");
我假设页面有一个 Location 属性,该属性与它所属的 Location 相关,而 .Index 将是您要用于订购的属性。
关于c# - 如何从其父级返回集合的第一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/541415/