Вы можете вернуть анонимный тип, но не так, чтобы он был строго типизирован. Я использую этот метод для создания json-сериализуемых типов.
Возвращает тип «объекта» в классе модели данных:
public object TRFLIST()
{
var info = from trfTable in Company.TRFs
join exusrTable in MasterData.ex_users on trfTable.P_ID equals exusrTable.EXUSER
select new
{
trfTable.REQ_NO,
trfTable.REQ_DATE,
exusrTable.USER_NAME,
exusrTable.USER_LNAME,
trfTable.FROM_DT,
<snipped>
};
return info;
}
Затем вызовите его из вашего контроллера следующим образом (в этом примере я использую его для возврата JsonResult):
public JsonResult() {
var myAnonTRFLIST = dataClassInstance.TRFLIST();
return Json(myAnonTRFLIST, JsonRequestBehavior.Allowget);
}
Вы также можете изучить использование нового динамического типа, если вы используете 4.0 ...
- ОБНОВЛЕНИЕ: Я только что попробовал это, и это сработало отлично -
Возвращает тип «объекта» в классе модели данных:
public List<object> TRFLIST()
{
var info = from trfTable in Company.TRFs
join exusrTable in MasterData.ex_users on trfTable.P_ID equals exusrTable.EXUSER
select new
{
trfTable.REQ_NO,
trfTable.REQ_DATE,
exusrTable.USER_NAME,
exusrTable.USER_LNAME,
trfTable.FROM_DT,
<snipped>
};
return info.ToList<object>();
}
public JsonResult() {
dynamic myAnonTRFLIST = dataClassInstance.TRFLIST();
string test = myAnonTRFLIST[0].USER_NAME;
<Do something with Test>
return Json(myAnonTRFLIST, JsonRequestBehavior.Allowget);
}