2011-02-11 91 views
1

如何将此查询表达式语法转换为方法语法?请帮助,如何将此查询表达式语法转换为方法语法?

var designers = (from d in _dbRead.Designer 
         join vd in _dbRead.VariationDesigner on d.DesignerId equals vd.DesignerId 
         join pv in _dbRead.ProductVariation on vd.VariationId equals pv.VariationId 
         where (pv.IsActive ?? false) && (d.SortName ?? "") != "" 
         orderby d.SortName 
         select d).Distinct(); 
+0

http://community.bartdesmet.net/blogs/bart/archive/2008/08/30/c-3-0-query-expression-translation-cheat -sheet.aspx – ullmark 2011-02-11 12:09:39

回答

3

,我没有使用小抄here

我在另一个同种岗位上计算器的发现转化。

这里是soultion:

objDbread.Designer.Where(x => (x.SortName ?? string.Empty) != string.Empty).Join(objDbread.VariationDesigner, x => x.DesignerId, x1 => x1.DesignerId, (x1, x2) => new { x1, x2 }).Join(objDbread.ProductVariation, x3 => x3.x2.VariationId, x4 => x4.VariationId, (x3, x4) => new { x3, x4 }).Where(x5 => (x5.x4.IsActive ?? false)).OrderBy(x5 => x5.x3.x1.SortName).Select(x5 => x5.x3.x1).Distinct().ToList(); 
1

您需要获得LinqPad(www.linqpad.net)的副本并将其粘贴到其中。您可以单击一个按钮,以查看编译器将所有Linq查询转换为的相应Method语法。

相关问题