C# 串联LinQ Lambda表达式中的两个列值
我是LinQ的新手,那些Lambda对我来说很棘手:( 我有一个表,其中有两列。First_Name和Last_Name。我正在使用LinQ填充gridviewC# 串联LinQ Lambda表达式中的两个列值,c#,sql,linq,lambda,C#,Sql,Linq,Lambda,我是LinQ的新手,那些Lambda对我来说很棘手:( 我有一个表,其中有两列。First_Name和Last_Name。我正在使用LinQ填充gridview protected void Page_Load(object sender, EventArgs e) { myLinQtoSQLClassDataContext objDataContext = new myLinQtoSQLClassDataContext(); var allUserLi
protected void Page_Load(object sender, EventArgs e)
{
myLinQtoSQLClassDataContext objDataContext = new myLinQtoSQLClassDataContext();
var allUserList = from CurrentUser in objDataContext.Users.Where(c => c.Is_Deleted != false)
select new
{
CurrentUser.First_Name,
CurrentUser.Last_Name,
CurrentUser.Email_ID,
CurrentUser.GUID
};
GridView1.DataSource = allUserList;
GridView1.DataBind();
}
我可以使用LinQ检索这些值,但我想在名字和姓氏之间加一个空格
我尝试访问的等效SQL查询如下所示:
Select First_name + ' ' + Last Name as Username, Email_ID, GUID
From tbl_Users where Is_Deleted != false
如何通过lambda表达式实现这一点?您可以使用字符串连接:
select new
{
Username = CurrentUser.First_Name + " " + CurrentUser.Last_Name,
CurrentUser.Email_ID,
CurrentUser.GUID
};
试一试
您应该提供“键”(只读属性):
然后在分配用户名时连接字符串。看看这个
var allUserList = from CurrentUser in objDataContext.Users.Where(c => c.Is_Deleted != false)
select new
{
Name = CurrentUser.First_Name + " " + CurrentUser.Last_Name,
CurrentUser.Email_ID,
CurrentUser.GUID
};
.Net提供了许多可以直接映射到查询的方法,这些方法必须使用其中一个来添加两个字符串
所以你可以用的是
select new
{
Username = Concat(first_Name,Last_Name),
CurrentUser.Email_ID,
CurrentUser.GUID
};
以下是另一个有效的变体,但尚未列出:
var allUserList = objDataContext.Users.Where(c => c.Is_Deleted != false).
Select(s => new{First_Name + " " + Last_Name, Email_ID, GUID});
在SQL中,您通常应该使用
“
来表示包含空格的字符串,而不是”
。另外,请注意:可能有助于您获取有关linqcheck的更多信息更新的答案可能有助于您…..谢谢大家,所有解决方案都很好。我希望我可以将所有解决方案都标记为正确,但我只能标记一个:(var allUserList=objDataContext.Users.Where(c=>c.Is_Deleted!=false)。选择(s=>new{FullName=First_Name+“”+Last_Name,Email_ID,GUID});
对我有效。我需要添加FullName作为一个字段
select new
{
Username = Concat(first_Name,Last_Name),
CurrentUser.Email_ID,
CurrentUser.GUID
};
var allUserList = objDataContext.Users.Where(c => c.Is_Deleted != false).
Select(s => new{First_Name + " " + Last_Name, Email_ID, GUID});
select new
{
Username = string.Format("{0} {1}", CurrentUser.First_Name, CurrentUser.Last_Name),
CurrentUser.Email_ID,
CurrentUser.GUID
};