使用原始查询返回计数,使用Entity Framework和MVC

时间:2012-04-14 14:28:34

标签: sql-server asp.net-mvc entity-framework

我在MVC网站上使用Entity Framework

我正在尝试使用原始查询获取记录数。

我正在寻找这些方面的东西,但任何人都会对任何解决方案感到满意。

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

var total = _context.Database.SOMETHING(sql)

我意识到,对于这样一个简单的场景,原始查询可能不是可行的方法,但实际上,sql字符串要复杂得多,因此几乎不可能使用Linq to SQL。

1 个答案:

答案 0 :(得分:50)

使用execute raw SQL方法,您可以先使用EF代码进行SqlQuery次查询:

var sql = "SELECT COUNT(*) FROM dbo.Articles WHERE (CategoryID = 3)";
var total = _context.Database.SqlQuery<int>(sql).First();