Попробуйте это:
public JsonResult GetWebObjectTypesByWebObject(Guid id)
{
JsonResult result = new JsonResult();
var data = (from w in db.WebObjects
from r in w.RelatedWebObjects
where w.Id == id
select r).ToList();
var resultData = data.Select(r => new { Type = r.GetType().BaseType.Name } );
result.Data = resultData;
result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return result;
}
Вы теряете отложенное выполнение, но в этом случае оно кажется несущественным.