控制器
public JsonResult GetFee(int? Class_Id)
{
var list = Repository.FeeRepository.GetAll()
.Where(i => i.Class_Id == Class_Id)
.Select(x => new {x.tbl_SchoolProfile.Name, x.tbl_Classes.Name, x.tbl_FeeHead.Name, x.Amount})
.ToList();
return Json(list,JsonRequestBehavior.AllowGet);
}
我有问题访问其他表的字段是tbl_Classes,tbl_FeeHead是在FeeRepository.GetAll()中加入这个费用表我选择来自tbl_fee的所有数据它给出编译错误(匿名类型不能有具有相同名称的多个属性)所以我该如何解决此错误?
答案 0 :(得分:4)
您需要在匿名对象创建表达式中指定所需的名称,例如
.Select(x => new {
SchoolName = x.tbl_SchoolProfile.Name,
ClassName = x.tbl_Classes.Name,
FeeHeadName = x.tbl_FeeHead.Name,
x.Amount
})
如果编译器会根据您指定的值推断出正确的名称,则只能保留名称,例如
new { Foo = x.Foo, Bar = y.Bar }
相当于
new { x.Foo, y.Bar }