2012-03-19 2 views
0

ASP.NET MVC 3, SignalR 및 Entity Framework가 포함 된 자바 스크립트 애플리케이션을 백엔드에 보유하고 있습니다. 모든 속성을 클라이언트에 보내지 않으려 고하기 때문에 항상 데이터를 준비해야합니다 (성능 문제입니까? 예를 들어 주소에 국가에있는 주소가 있고 1000 명이 넘는 엔티티). 그래서, 지금은 내가 클라이언트에 데이터를 보내기 전에 항상 함수를 준비 만들 :ASP.NET, EntityFramework - 클라이언트에 최소한의 데이터 전송

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 
      }; 
} 

그리고 난 기능과 ​​복잡한에 각 엔터티에 대해 항상 만들 준비해야하기 때문에 나는이 좋은 방법입니다 같아요 엔티티가 이상해진다.

답변

0

이 경우 AutoMapper을 사용해야합니다.

또한 복잡한 유형의 경우 flattening을 지원하며 구현 및 사용이 매우 쉽습니다.

관련 문제