У меня есть приложение javascript с ASP.NET MVC 3, SignalR и Entity Framework в бэкэнде.Я всегда должен подготавливать данные, потому что я не хочу отправлять все атрибуты клиенту (проблема производительности? Например, у человека есть адрес, у страны есть ... и это для> 1000 лиц).Итак, теперь я всегда создаю функцию подготовки перед отправкой данных клиенту:
public void GetPeople()
{
PersonRepository personRepository = new PersonRepository(_context);
var pList = personRepository.GetAll();
var pClientList = prepare(pList);
Clients[Context.ConnectionId].loadPeople(pClientList);
}
private object prepare(IEnumerable<Person> pList)
{
return from p in pList
select new
{
id = p.ID,
firstName = p.FirstName,
lastName = p.LastName,
displayName = p.DisplayName
};
}
, и я не думаю, что это хорошая практика, потому что я должен всегда создавать для каждой сущности функцию подготовки ина сложных объектах это становится странным.