当前位置:  开发笔记 > 编程语言 > 正文

LINQ to SQL急切加载条件

如何解决《LINQtoSQL急切加载条件》经验,为你挑选了1个好方法。

我正在尝试学习LINQ to SQL,并且我已经发现了LoadWith函数.我发现的所有示例都将加载您在LoadWith函数中指定的表中的所有记录,例如

var dlo = new DataLoadOptions();
dlo.LoadWith(b => b.Posts);
this.LoadOptions = dlo;

我想知道的是,是否可以在此示例中加载最后一篇博文?

我试过了

dlo.LoadWith(b => b.Posts.Max());

但它不喜欢那种语法.



1> eglasius..:

你可以使用AssociateWith来做到这一点.这将有效:

var options = new DataLoadOptions();
options.AssociateWith(b => 
    b.Posts.Where(
        p1 => p1.SomeColumn == b.Posts.Max(p2 => p2. SomeColumn)
    ));

此外,如果您要将信息加载到单独的类中或者可以使用匿名类,则可以执行以下查询:

var query = from b in context.Blogs
            //probably some where you already have
            select new MyBlogs // or with no type in case it is anonymous
            {
                AColumn = b.AColumn, //map any other values
                LatestPost = b.Posts.Where(
                      p1 => p1.SomeColumn == b.Posts.Max(p2 => p2. SomeColumn)
                  )).ToList()
            }

推荐阅读
谢谢巷议
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有