Javascript ASP.NET,EntityFramework-向客户端发送最少的数据

Javascript ASP.NET,EntityFramework-向客户端发送最少的数据,javascript,asp.net,entity-framework,Javascript,Asp.net,Entity Framework,我有一个javascript应用程序,后端有ASP.NET MVC 3、信号器和实体框架。我总是要准备数据,因为我不想将所有属性发送给客户(性能问题?例如,个人拥有地址,国家拥有…这是针对>1000人的实体)。因此,现在我总是在将数据发送到客户端之前创建一个prepare函数: public void GetPeople() { PersonRepository personRepository = new PersonRepository(_context); var pLis

我有一个javascript应用程序,后端有ASP.NET MVC 3、信号器和实体框架。我总是要准备数据,因为我不想将所有属性发送给客户(性能问题?例如,个人拥有地址,国家拥有…这是针对>1000人的实体)。因此,现在我总是在将数据发送到客户端之前创建一个prepare函数:

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
           };
}
public void GetPeople()
{
PersonRepository PersonRepository=新的PersonRepository(_上下文);
var pList=personRepository.GetAll();
var pClientList=准备(pList);
客户端[Context.ConnectionId].loadPeople(pClientList);
}
私有对象准备(IEnumerable pList)
{
从pList中的p返回
选择新的
{
id=p.id,
firstName=p.firstName,
lastName=p.lastName,
displayName=p.displayName
};
}
我认为这不是一个好的实践,因为我必须为每个实体创建一个prepare函数,而在复杂的实体上,它会变得很奇怪

您应该为此使用

它还支持复杂类型,并且非常容易实现和使用