我有一个具有匿名类型的方法,之后我将参数添加到viewmodel。
public void ConvertirBono(List<Bono> ParamBonos,List<Empleado> ParamEmpleado)
{
Bonos = new List<BonoVM>();
var bonos2 = ParamBonos.Where(x => x.mdEstatusRegistro)
.Join(ParamEmpleado, x => x.EmpleadoID, y => y.ID, (x, y) => new
{
empleadoCompleto = y.nCodigoEmpleado.ToString() + y.vNombreEmpleado,
}).ToList();
foreach (var p in ParamBonos)
{
Bonos.Add(new BonoVM()
{
EmpleadoId = p.EmpleadoID,
vEmpleado = empleadoCompleto,
nBono1 = p.nBono1,
nBono2 = p.nBono2
});
}
}
我想要做的是在添加到ViewModel(foreach子句)时插入匿名类型empleadoCompleto
,但它总是为空。我尝试在外面声明该变量,但它仍然是空的。
public void ConvertirBono(List<Bono> ParamBonos,List<Empleado> ParamEmpleado)
{
Bonos = new List<BonoVM>();
string empleadoCompleto = null;
var bonos2 = ParamBonos.Where(x => x.mdEstatusRegistro)
.Join(ParamEmpleado, x => x.EmpleadoID, y => y.ID, (x, y) => new
{
empleadoCompleto = y.nCodigoEmpleado.ToString() + y.vNombreEmpleado,
}).ToList();
foreach (var p in ParamBonos)
{
Bonos.Add(new BonoVM()
{
EmpleadoId = p.EmpleadoID,
vEmpleado = empleadoCompleto,
nBono1 = p.nBono1,
nBono2 = p.nBono2
});
}
}
我做错了什么?
答案 0 :(得分:0)
从您的代码中,看起来您正在尝试将它们合并在一起并创建一个视图模型列表。这里根本不需要创建匿名类型,您可以使用一行代码完成所有操作。这可能不太正确,因为你的问题不清楚,但至少应该让你走上正确的轨道。
public void ConvertirBono(List<Bono> ParamBonos,List<Empleado> ParamEmpleado)
{
Bonos = ParamBonos.Where(x => x.mdEstatusRegistro)
.Join(ParamEmpleado,
x => x.EmpleadoID,
y => y.ID,
(x, y) => new BonoVM
{
EmpleadoId = x.EmpleadoID,
vEmpleado = y.nCodigoEmpleado.ToString() + y.vNombreEmpleado,
nBono1 = x.nBono1,
nBono2 = x.nBono2
})
.ToList();
}