Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.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# ASP.NETMVC4中的LINQtoSQL返回实际的查询字符串_C#_Sql_Asp.net Mvc_Linq - Fatal编程技术网

C# ASP.NETMVC4中的LINQtoSQL返回实际的查询字符串

C# ASP.NETMVC4中的LINQtoSQL返回实际的查询字符串,c#,sql,asp.net-mvc,linq,C#,Sql,Asp.net Mvc,Linq,我试图从AspNetUsers表中获取特定记录(ID)的名字和姓氏字符串值。当我使用LINQtoSQL时,它返回整个Sql查询字符串。这是我的密码: var user = User.Identity.GetUserId(); var currentUser = from aspNetUser in db.AspNetUsers where aspNetUser.Id == user

我试图从AspNetUsers表中获取特定记录(ID)的名字和姓氏字符串值。当我使用LINQtoSQL时,它返回整个Sql查询字符串。这是我的密码:

 var user = User.Identity.GetUserId();
            var currentUser = from aspNetUser in db.AspNetUsers
                              where aspNetUser.Id == user
                              select aspNetUser.FirstName + " " + aspNetUser.LastName;
我试图用当前用户的名字和姓氏填充视图中的用户文本框。我已将其作为列添加到AspNetUsers表中。为什么它返回这个丑陋的查询而不是某人的名字和姓氏

它返回这个:

SELECT     CASE WHEN ([Extent1].[FirstName] IS NULL) THEN N'' ELSE [Extent1].[FirstName] END + N' ' + CASE WHEN ([Extent1].[LastName] IS NULL) THEN N'' ELSE [Extent1].[LastName] END AS [C1]    FROM [dbo].[AspNetUsers] AS [Extent1]    WHERE [Extent1].[Id] = @p__linq__0

不确定如何返回SQL查询,但需要从查询返回一条记录。使用First/FirstOrDefault,如:

var currentUser = (from aspNetUser in db.AspNetUsers
                  where aspNetUser.Id == user
                  select aspNetUser.FirstName + " " + aspNetUser.LastName)
                  .FirstOrDefault();
FirstOrDefault
将返回从结果返回的第一条记录。如果没有记录,则返回
null


您还可以使用\,因为您正在查询
ID
,并且应该始终返回一条记录。但是,如果有多个记录与您的条件相匹配,则它们都可能引发异常。根据您的要求使用其中任何一种

不确定如何返回SQL查询,但需要从查询返回一条记录。使用First/FirstOrDefault,如:

var currentUser = (from aspNetUser in db.AspNetUsers
                  where aspNetUser.Id == user
                  select aspNetUser.FirstName + " " + aspNetUser.LastName)
                  .FirstOrDefault();
FirstOrDefault
将返回从结果返回的第一条记录。如果没有记录,则返回
null


您还可以使用\,因为您正在查询
ID
,并且应该始终返回一条记录。但是,如果有多个记录与您的条件相匹配,则它们都可能引发异常。根据您的要求使用其中任何一种

您可以使用
FirstOrDefault()
根据特定条件获取单个记录:

var currentUser = db.AspNetUsers.FirstOrDefault(x=>x.Id == user);

var Name = currentUser.FirstName + " " + currentUser.LastName;

您可以使用
FirstOrDefault()
根据特定条件获取单个记录:

var currentUser = db.AspNetUsers.FirstOrDefault(x=>x.Id == user);

var Name = currentUser.FirstName + " " + currentUser.LastName;

这是第一个默认值。添加后,我得到了用户的名字和姓氏。谢谢。这是
FirstOrDefault
。添加后,我得到了用户的名字和姓氏。非常感谢。