在实体框架中联合或连接自定义数据

本文关键字:连接 自定义 数据 实体 框架 | 更新日期: 2023-09-27 18:33:45

嗨,我只是想在 SQL 中做到这一点

SELECT ID,Name
FROM Countrys
UNION all
SELECT '00000000-0000-0000-0000-000000000000','All' Name
ORDER BY Id

将其与组合框上的"全部"选项一起使用

using (GezentiEntities GE = new GezentiEntities())
{
    string[,] str = new string [1,2]{ {"00000000-0000-0000-0000-000000000000", "All"} };
    var obj = str.Cast<object>().ToArray();
    var countries = (from c in GE.Countrys select new { c.Id, c.Name })
                    .Concat
                    (from s in obj select s);
     cmbNationality.DataSource = countries.ToList();
     cmbNationality.ValueMember = "Id";
     cmbNationality.DisplayMember = "Name";
}

它给了我这个错误:

无法创建类型为"系统对象"的常量值。在此上下文中仅支持基元类型或枚举类型。

在实体框架中联合或连接自定义数据

只需将匿名类型查询放入列表中,然后使用列表的 add 方法追加匿名类型。

请注意选择中变量的命名和添加中的后续命名,以确保它们全部匹配。

var countries = (from c in GE.Countrys 
                 select new {Id = c.Id,Name = c.Name}).ToList();
countries.Add(new {Id = "00000000-0000-0000-0000-000000000000", Name = "All"});