C# 如何将以下函数/表达式从SQL转换为LINQ,再转换为实体?
在哪里C# 如何将以下函数/表达式从SQL转换为LINQ,再转换为实体?,c#,sql,linq-to-entities,entity-framework-5,C#,Sql,Linq To Entities,Entity Framework 5,在哪里 Dateadd(minute, TS.duration, TS.datesched) 在哪里 TS.Duration = int. TS.datesched = datetime. RTRIM(ISNULL(TC.CityLocation, '') + ' ' + ISNULL(TC.StateLocation, '') TC.CityLocation = varchar(50) TC.StateLocation = varchar(10) CASE WHEN country
Dateadd(minute, TS.duration, TS.datesched)
在哪里
TS.Duration = int.
TS.datesched = datetime.
RTRIM(ISNULL(TC.CityLocation, '') + ' ' + ISNULL(TC.StateLocation, '')
TC.CityLocation = varchar(50)
TC.StateLocation = varchar(10)
CASE
WHEN country = market
OR country = 'USA' THEN market
ELSE country + ' | ' + market
END AS BroadcastMarket
Country = varchar(100)
Market = varchar(100)
CASE
WHEN country = 'USA' THEN 0
ELSE 1
END AS CountrySort
在哪里
TS.Duration = int.
TS.datesched = datetime.
RTRIM(ISNULL(TC.CityLocation, '') + ' ' + ISNULL(TC.StateLocation, '')
TC.CityLocation = varchar(50)
TC.StateLocation = varchar(10)
CASE
WHEN country = market
OR country = 'USA' THEN market
ELSE country + ' | ' + market
END AS BroadcastMarket
Country = varchar(100)
Market = varchar(100)
CASE
WHEN country = 'USA' THEN 0
ELSE 1
END AS CountrySort
在哪里
TS.Duration = int.
TS.datesched = datetime.
RTRIM(ISNULL(TC.CityLocation, '') + ' ' + ISNULL(TC.StateLocation, '')
TC.CityLocation = varchar(50)
TC.StateLocation = varchar(10)
CASE
WHEN country = market
OR country = 'USA' THEN market
ELSE country + ' | ' + market
END AS BroadcastMarket
Country = varchar(100)
Market = varchar(100)
CASE
WHEN country = 'USA' THEN 0
ELSE 1
END AS CountrySort
选择中的一个案例将在LINQ的投影中完成。您可以使用一个多行匿名方法,这样您就可以使用if/else语句,但这里我只展示了使用三元运算符
Country = varchar(100)
变成:
CASE
WHEN country = 'USA' THEN 0
ELSE 1
END AS CountrySort
我要试试这个。基本上你要找的是一个投影
tcollection
是您的数据集
.Select(c=> new { countrySort = (c.country == "USA" ? 0 : 1)});
您必须使用实体函数进行日期操作,如LINQ中的AddDays、AddMinutes。请参阅,感谢Sandy提供了我最初错过的日期部分。