我有这个方法:
private string GetLanguage(String currentLanguage, dynamic entity)
{
return (currentLanguage == "de" ? entity.language.German :
currentLanguage == "fr" ? entity.language.French :
currentLanguage == "en" ? entity.language.English :
entity.language.English);
}
我需要它来返回一个 LINQ 表达式,它执行类似以下 SQL 语句的操作:
select (case when [french] is null then [english] else [french] end) as language
from
我怎样才能做到这一点?
Tks
编辑:
更具体:
我有这样的事情:
myId = 1;
from objects in context.Objects
where objects.Id== myId
select new
{
MyObject = new Models.MyObjects()
{
Id = objects.ScrId,
Title = LanguageFactory.GetLabelLanguage(objects.Labels)
}
}).FirstOrDefault();
并且 MyObject.Title 必须使用某种语言(英语、法语、荷兰语等)。在 SQL 中,我通过执行以下操作解决了这个问题:
select id, (case when [french] is null then [english] else [french] end) as language
from table
我怎样才能做一个 LINQ 表达式,它可以被翻译成类似于上面的 SQL 查询的东西?