C# CSHTML/Razor在没有Foreach的情况下查询SQL?

C# CSHTML/Razor在没有Foreach的情况下查询SQL?,c#,sql,sql-server,razor,webmatrix,C#,Sql,Sql Server,Razor,Webmatrix,是否有任何方法可以在Razor/Webmatrix页面中查询SQL,从而在不使用foreach的情况下从单行中的指定列中获取特定(不同的)记录 我知道如何使用foreach设置连接并获取数据,但是有没有一种方法可以不使用循环从特定列获取单个记录 我遇到的问题是我没有运行SELECT查询。我正在执行一个存储过程,该过程在其中进行选择。有一列具有特定标识符,该标识符对于基于筛选器的所有返回记录都是相同的。我尝试只获取该值的一个实例,以便可以在页眉中显示它 如果我使用SELECT语句,我就不会有问题。

是否有任何方法可以在Razor/Webmatrix页面中查询SQL,从而在不使用foreach的情况下从单行中的指定列中获取特定(不同的)记录

我知道如何使用foreach设置连接并获取数据,但是有没有一种方法可以不使用循环从特定列获取单个记录

我遇到的问题是我没有运行SELECT查询。我正在执行一个存储过程,该过程在其中进行选择。有一列具有特定标识符,该标识符对于基于筛选器的所有返回记录都是相同的。我尝试只获取该值的一个实例,以便可以在页眉中显示它

如果我使用SELECT语句,我就不会有问题。我只需要从我需要的列中获取distinct值,但对于存储过程,我不能指定列、distinct等,我只能传递参数


有没有一种方法可以只从一列中获取一个不同的值,而不是所有的值,而不选择“不同的”?

找到了解决方案,解决了我试图做的事情,即从特定的行和列中获取一条记录。使用此选项:

var db = Database.Open("MyDb");
var sql = @"EXEC myProcedure";
var result = db.Query(sql);
var header_value = result.ElementAt(0);
.
.
.
@header_value.ColumnName

您可以修改存储过程吗?是的,我可以修改过程,但我会更改什么?它工作正常。参数工作正常,Razor页面中的web网格工作正常,只是我也想在结果中使用特定值显示页面标题,但无法。由于循环的原因,它不会让值在标头中只显示一次,而是显示与返回记录相同的次数。您的视图不应该导致数据库查询。这显然不利于MVC(模型、视图、控制器)的分离。在模型中进行计数,并将其作为一个数字传递给视图。例如,proc接受员工ID并返回该员工的一组信息,比如说100行。其中一列是全名,每行的全名相同。我只想在页眉或标题中显示,但只显示一次,而不是100次。@arserbin3我在获取计数时没有问题。我需要从特定列中获取一个不同的值。撇开最佳实践不谈,如果我在执行EXEC proc…而不是从中选择,我将如何做到这一点。