C# 视图显示整个SQL查询,而不是显示结果集
我的控制器中有两个linq查询,它们都是为返回字符串而设计的。但是,我的视图显示从Linq查询生成的整个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 =
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();