30

MVCWebサイトでEntityFrameworkを使用しています

生のクエリを使用してレコードの数だけを取得しようとしています。

私はこれらの線に沿って何かを探していますが、誰もがどんな解決策にも満足するでしょう。

var sql = SELECT COUNT(*) FROM dbo.Articles WHERE (CategoryID = 3)

var total = _context.Database.SOMETHING(sql)

このような単純なシナリオでは、生のクエリはおそらく実行する方法ではありませんが、実際には、SQL文字列ははるかに複雑であるため、LinqtoSQLを使用することはほぼ不可能です。

4

1 に答える 1

64

SqlQueryメソッドを使用して、最初にEFコードで生のSQLクエリを実行できます。

var sql = "SELECT COUNT(*) FROM dbo.Articles WHERE (CategoryID = 3)";
var total = _context.Database.SqlQuery<int>(sql).First();
于 2012-04-14T15:05:06.417 に答える