0

お客様からの奇妙なリクエストにより、SQLクエリを使用して実装する方法を理解できましたが、LinQに変換できませんでした。

 SELECT (SELECT count(*) FROM table1 where attribute1 like 'value1'),
        (SELECT count(*) FROM table2 where attribute2 like 'value2')

クエリのLinQへの変換は何ですか?

4

2 に答える 2

1
var count1 = (from i in table1 where SqlMethods.Like(i.attribute1, "value1") select i).Count();
var count2 = (from i in table2 where SqlMethods.Like(i.attribute2, "value2") select i).Count();
于 2012-08-01T09:10:29.237 に答える
1

Count()関数に述語を指定するだけで済みます

var result = new { 
            Count1 = table1.Count(r => r.attribute1.Contains("value1")), 
            Count2 = table2.Count(r => r.attribute2.Contains("value2")) 
        };  
于 2012-08-01T09:28:17.973 に答える