Используйте модели представлений, это единственный совет, который я могу вам дать. Никогда не передавайте модели доменов своим взглядам. Это так просто. И если вы соблюдаете это простое и фундаментальное правило в приложениях ASP.NET MVC, у вас никогда не возникнет проблем. Например, если вам нужен только идентификатор и описание в вашем представлении:
[HttpPost]
public ActionResult GetElements(string IDCampana)
{
Planilla query = db.Planillas.First();
return Json(new
{
Id = query.IDPlanilla,
Description = query.Description
});
}
Обратите внимание, что в этом случае анонимный объект служит моделью представления. Но если вы действительно хотите сделать что-то правильно, напишите модель представления:
public class PlanillaViewModel
{
public int Id { get; set; }
public string Description { get; set; }
}
и затем:
[HttpPost]
public ActionResult GetElements(string IDCampana)
{
Planilla query = db.Planillas.First();
return Json(new PlanillaViewModel
{
Id = query.IDPlanilla,
Description = query.Description
});
}
Кстати, Айенде написала хорошую серию постов в блоге об этом.