0
I'working与项目asp.net MVC 4
在我的控制器我需要返回一个Json
函数。 这是我的函数:Linq与两张表
public JsonResult DatosVehiculo(GridSettings grid, string IdReclamo){
...
List<cSindVehiculo> lDvehiculo = Servicio.RetornaDatos<cSindVehiculo>(ref Mensaje, "crdsis.sin_dvehiculo", dvehiculo.Where(), dvehiculo);
var count = DatosVehiculo.Count();
var data = DatosVehiculo.Skip((grid.PageIndex - 1) * grid.PageSize).Take(grid.PageSize).ToArray();
var jsonData = new{
total = (int)Math.Ceiling((double)count/grid.PageSize),
page = grid.PageIndex,
records = count,
rows = (
from m in data
select new {
id = m.sdv_idreclamo,
cell = new object[] {
m.sdv_idreclamo,
m.sdv_parpieza,
m.sdv_parcodclase
}
});.ToArray()
});
return Json(jsonData, JsonRequestBehavior.AllowGet);
}
这回在此格式,例如:
sdv_idreclamo sdv_parpieza sdv_parcodclase
LP13000394 001 AC
LP13000394 002 CR
但烧烤不理解最终用户 我需要,这显示它:
sdv_idreclamo sdv_parpieza sdv_parcodclase
LP13000394 AMORTIGUADOR ACCESORIOS
LP13000394 BOMBA DE ACEITE CARROCERIA
但是这个描述在其他表"crdsis.cfg_parametros"
其中:
cp_idparametro cp_descparametro cp_tipoparametro
0001 AMORTIGUADOR PIEZA
0002 BOMBA DE ACEITE PIEZA
AC ACCESORIOS CODCLASE
CR CARROCERIA CODCLASE
有了选择,我可以得到这样的:
SELECT
crdsis.sin_dvehiculo.sdv_idreclamo,
(select crdsis.cfg_parametros.cp_descparametro from crdsis.cfg_parametros where (crdsis.sin_dvehiculo.sdv_parpieza = crdsis.cfg_parametros.cp_idparametro) and crdsis.cfg_parametros.cp_tipoparametro = 'PIEZA') as sdv_parpieza,
(select crdsis.cfg_parametros.cp_descparametro from crdsis.cfg_parametros where (crdsis.sin_dvehiculo.sdv_parcodclase = crdsis.cfg_parametros.cp_idparametro) and crdsis.cfg_parametros.cp_tipoparametro = 'CODCLASE') as sdv_parcodclase
from crdsis.sin_dvehiculo
where sdv_idreclamo = 'LP13000394'
我需要修改我的功能public JsonResult DatosVehiculo
返回此格式。 如何修改Linq
?
是的,我可以在其他层解决,谢谢给我看问题的另一种观点 – raranibar 2013-03-15 14:25:03