在LinqToSql中创建连接的键值

问题描述 投票:0回答:1

我有一个绑定到LinqToSql-DataSource的GridView。数据源是多联接。我需要网格的唯一键值。但是由于左联接,表中的所有主键可能都存在两倍或不存在。

我已经在纯sql语句中解决了这个问题。在这里,我通过将两个主键连接成一个“-”来为TableRows创建一个ID。我需要一个ID以便以后使用TableRows,另一个ID可以为null。

所以我在SQL语句中这样做:

select CAST(mitgliedschaft.id as varchar(MAX)) + '-' + CAST(ISNULL(funktion.id, '') as varchar(MAX)) as id from ...... inner join ...... etc

我需要CASTS来不使用“-”和ISNULL-Function来产生计算,因为第二个ID可能为Null。

现在,我必须将方案的这一部分转移到Linq语句中。我这样尝试过:

...
...
select new
       {
           ...
           id = mitgliedschaft.id.ToString() + "-" + (funktion.id == null ? 0 : funktion.id).ToString()
           ...

       });

但是没有以这种方式运行它。有人可以帮我将ID与“-”和ID可以为NULL串联吗?如果为NULL,则应为空字符串或Null-Digit或其他任何值。

sql-server linq linq-to-sql aspxgridview
1个回答
0
投票

立即获取:

select new
{
  id = (mitgliedschaft.id.ToString() + "-") + (funktion.id.ToString() ?? "0")
}
© www.soinside.com 2019 - 2024. All rights reserved.