c# - 添加新记录 var LINQ

标签 c# json linq

我正在尝试向 var“issue”添加一条新记录。我从 SQL Server 数据库中获取 XXX 的列表,并按如下方式返回 jTable 网格:

public dynamic XXXList(int CCC)
    {
        try
        {
            var issue = db.XXX.ToList().
                Select(c => new { DisplayText = c.AAA, Value = c.BBB, c.CCC}).
                Where(h => h.HHH == JJJ);

            return (new { Result = "OK", Options = issue });
        }
        catch (Exception ex)
        {
            return (new { Result = "ERROR", Message = ex.Message });
        }
    }

函数返回:

{
    "$id": "1",
    "Result": "OK",
    "Options": [
        {
            "$id": "2",
            "DisplayText": "Food and Beverages",
            "Value": 4,
            "CCC": 4
        },
        {
            "$id": "3",
            "DisplayText": "Wrong software versions",
            "Value": 5,
            "CCC": 4
        }
    ]
} 

如何在返回之前向问题变量添加另一条记录? 示例:

{
    "DisplayText": "new display text",
    "Value": 5,
    "CCC": 4
}

编辑:

这是我应用答案后的函数:

public dynamic XXXList(int CCC)
{
    try
    {
        var newRecord = new[] { new { DisplayText = "None", Value = -1, CCC  = -1} };

        var issue = db.ProjectXXXs.Where(h => h.CCC == JJJ).Select(c => new { DisplayText = c.AAA, Value = c.BBB, c.CCC }).ToList().Concat(newRecord);

        return (new { Result = "OK", Options = issue });
    }
    catch (Exception ex)
    {
        return (new { Result = "ERROR", Message = ex.Message });
    }
}

非常感谢您提供的所有帮助。

最佳答案

连接任何其他项目:

var additional = new[] {new { DisplayText = ..., Value = ..., CCC = ... },
                        new { DisplayText = ..., Value = ..., CCC = ... }};

var issue = db.XXX.
    Where(h => h.HHH == JJJ).
    Select(c => new { DisplayText = c.AAA, Value = c.BBB, c.CCC}).
    ToList().
    Concat(additional);

(编辑:Where、Select 和 ToList 的重新排序归功于 James Curran。)

关于c# - 添加新记录 var LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25163843/

相关文章:

c# - 为什么 Linq Cast<> 助手不能与隐式转换运算符一起使用?

c# - 通用 Linq OrderBy 函数的问题

c# - 获取特定类型的对象

c# - 具有智能感知功能的内置 C#/VB.Net 编辑器 - Roslyn、VSTA 或其他?

c# - 禁用延迟加载仍然加载相关实体。为什么?

java - JSONArray 无法转换为 JSONObject 异常

ios - webView中解析Json数据

java - XStream:使用 XStreamImplicit 省略集合

c# - 与 Ushort 的结果混淆

c# - Thread.Abort() 在工作线程调用 Dispatcher.Invoke() 时创建死锁