Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.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# 如何将以下函数/表达式从SQL转换为LINQ,再转换为实体?_C#_Sql_Linq To Entities_Entity Framework 5 - Fatal编程技术网

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提供了我最初错过的日期部分。