我想根据一些变量选择不同的列
而不是做这样的事情
if(selectLastName)
var res = from e in ctx.Employees
select new {e.FirstName, e.LastName};
else
var res = from e in ctx.Employees
select new {e.FirstName}
我怎样才能重写这个?
答案 0 :(得分:2)
这只是对Mark答案的修改,其中类型中始终存在姓氏,但您不会总是从数据库中提取值。我会把它写成对他答案的评论,但评论中没有代码格式。
ctx.Employees.Select(e => new {
FirstName = e.FirstName,
LastName = selectLastName ? e.LastName : null
});
答案 1 :(得分:1)
为什么不选择整个模型并在需要时使用这些字段?
答案 2 :(得分:1)
您尝试做的事情将无效,因为两个var
具有不同的类型。尝试这样的事情:
var res = from e in ctx.Employees
select new {e.FirstName, selectLastName ? e.LastName : null};
答案 3 :(得分:0)