LINQ中的案例和IIF

Man*_*rio 0 c# linq asp.net sql-server-2012

我将如何得到相同的结果LINQ,ASP.Net如下面的SQL查询

如果

select *, case 
        when 
            gender = 1 then 'Male' else 'Female' end 
        as gen from info
Run Code Online (Sandbox Code Playgroud)

在iif

select iif(gender = 1, 'Male', 'Female') as gen, * from info 
Run Code Online (Sandbox Code Playgroud)

我尝试使用建议,但抛出错误

InfoDataContext db = new InfoDataContext();

            var data = from y in db.infos
                       db.infos.Select(i => new info{info = i, i.gender == 1 ? "Male" : "Female"}).ToList()
                       select y;

            GridView1.DataSource = data;
            GridView1.DataBind();
Run Code Online (Sandbox Code Playgroud)

还有一个是,第一个查询将新结果作为表中的最后一列返回,第二个查询作为表中的第一列返回.如何gengender柱重新排列或替换色谱柱

wer*_*zui 7

只需使用三元运算符:

var data = context.info.Select(i => new {info = i, gender = i.gender == 1 ? "Male" : "Female"}).ToList();
Run Code Online (Sandbox Code Playgroud)