Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 视图显示整个SQL查询,而不是显示结果集_C#_Asp.net Mvc - Fatal编程技术网

C# 视图显示整个SQL查询,而不是显示结果集

C# 视图显示整个SQL查询,而不是显示结果集,c#,asp.net-mvc,C#,Asp.net Mvc,我的控制器中有两个linq查询,它们都是为返回字符串而设计的。但是,我的视图显示从Linq查询生成的整个SQL查询 型号: public class DummyClass { public string myMessage { get; set; } public string myInitials { get; set; } } 控制器: public ActionResult EmployeeSignature() { using (MessageInfo db =

我的控制器中有两个linq查询,它们都是为返回字符串而设计的。但是,我的视图显示从Linq查询生成的整个SQL查询

型号:

public class DummyClass
{
    public string myMessage { get; set; }
    public string myInitials { get; set; }
}
控制器:

public ActionResult EmployeeSignature()
{
    using (MessageInfo db = new MessageInfo())
    {
        var message = db.SiteMessage_MyPay
                        .Where(x => x.active)
                        .Select(x => x.msgText).ToString();

        using (DocumentReviewed database = new DocumentReviewed())
        {
            var document = database.Document_Reviewed
                                   .Where(x => x.FileNumber == "whatever")
                                   .Select(x => x.Initials).ToString();

            var model = new DummyClass()
                {
                    myMessage = message,
                    myInitials = document
                };

            return View(model);
        }
    }
}
视图:

网站显示:

SELECT [Extent1].[Initials] AS [Initials] 
FROM [dbo].[Document_Reviewed] AS [Extent1] 
WHERE '105057' = [Extent1].[FileNumber]

您不应该使用
.ToString()
,而应该使用
.FirstOrDefault()
ToList()
,诸如此类:

var message = db.SiteMessage_MyPay
                .Where(x => x.active)
                .Select(x => x.msgText).FirstOrDefault();

或者,如果您想检索某些列,您可以在查询中使用
ToArray()
ToList()

ToString()
几乎肯定不是您想要的。如果只希望得到一个结果,请考虑<代码> SunLeOrdError()/<代码>。如果可能有多个结果,而您只想要第一个,请尝试
FirstOrDefault()
。非常感谢!我尝试了FirstOrDefault().ToString(),但它不起作用。SingleOrDefault()可以自己工作。它应该是FirstOrDefault(),而不是FirstOrDefault()。ToString()您很快就会发现使用
.ToString()
几乎没有什么正当的理由。
var message = db.SiteMessage_MyPay
                .Where(x => x.active)
                .Select(x => x.msgText).FirstOrDefault();