gpt4 book ai didi

c# - ASP.NET MVC 3 - 创建仅用于返回的动态对象

转载 作者:行者123 更新时间:2023-12-02 19:49:00 25 4
gpt4 key购买 nike

我有一个 javascript 应用程序(后端带有 SignalR 的 ASP.net MVC 3),我只想返回所需的字段(它必须是动态的)。

我使用 Entity Framework ,但我不能仅选择特定列,因为我需要一些字段进行检查或方法中的某些内容在客户端不需要。

所以,目前我做这个:

    public void GetPerson(int personID)
{
// Some logic...

// person is a entity from the entity framework (Person)
dynamic p = new
{
ID = person.ID,
FirstName = person.FirstName,
LastName = person.LastName
};

Clients[Context.ConnectionId].loadPerson(p);
}

但我不确定这是否是一个好的做法(性能等)。有更好的解决方案还是我仍然可以继续使用动态类型?

最佳答案

您是否使用ExpandoObject

根据您的示例,可能仅使用匿名类型而不是动态类型。

 var p = new
{
ID = person.ID,
FirstName = person.FirstName,
LastName = person.LastName
};

这将确保您仍然进行编译时检查。然而,两者都应该有效。请参阅this有关匿名与动态的更多详细信息。

关于c# - ASP.NET MVC 3 - 创建仅用于返回的动态对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9539940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com