c# - 在 LINQ 中仅将某些列返回到 JSON

标签 c# asp.net json linq

我不想在 JSON 中返回整个表格。我只想要以下列:ProjectContactFirstNameProjectContactLastName 但我尝试的任何操作都不起作用。这是我的代码:

[WebMethod]
public static string getProjectByID(int id)
{
    using (dbPSREntities4 myEntities = new dbPSREntities4())
    {
        var thisProject = myEntities.tbProjects.Where(x => x.ProjectID == id).ToList();

        JavaScriptSerializer serializer = new JavaScriptSerializer();

        var json = serializer.Serialize(thisProject); 

        return json; <--- here I need to say what columns to return but nothing will work. Thanks!
    }
}

最佳答案

在将对象传递给序列化程序之前,您必须过滤列:

[WebMethod]
public static string getProjectByID(int id)
{
    using (dbPSREntities4 myEntities = new dbPSREntities4())
    {
        var thisProject = myEntities.tbProjects.Where(x => x.ProjectID == id);

        var columns = thisProject.Select(x => new { x.ProjectContactFirstName, x.ProjectContactLastName }).ToList();

        JavaScriptSerializer serializer = new JavaScriptSerializer();

        var json = serializer.Serialize(columns); 

        return json;
    }
}

关于c# - 在 LINQ 中仅将某些列返回到 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21170720/

相关文章:

c# - ASP.NET 中每个帐户只能登录一次,不使用内置成员资格

c# - 如何使用 XmlSerializer 反序列化为现有实例?

php - 将 Swift 连接到 PHP 代码

javascript - 如果我不知道键名,如何在 javascript 中遍历键/值对

c# - 使用 Linq-to-SQL 添加多条记录

c# - C# 中的字典枚举

c# - 更新 Excel 工作表时操作必须使用可更新查询

javascript - 使用 javascript 和 asp.net 启用和禁用按钮

c# - 如何在C#中获取URL路径

java - org.json.simple.JSONArray 设计的不好吗?