我正在寻找与以下 SQL 等效的 linq to entity 查询。
select null, '<None>'
union select CustomerId, Customer from Customers
然后,我会将生成的对象列表(可以是显式类或匿名类的实例)绑定为组合框的列表源。我不需要 Customer 实体类的所有字段,但如果生成的对象列表是此类的实例,而不是“存根”类,这不会是一个大问题,但显然会有一些内存浪费。
我正在寻找与以下 SQL 等效的 linq to entity 查询。
select null, '<None>'
union select CustomerId, Customer from Customers
然后,我会将生成的对象列表(可以是显式类或匿名类的实例)绑定为组合框的列表源。我不需要 Customer 实体类的所有字段,但如果生成的对象列表是此类的实例,而不是“存根”类,这不会是一个大问题,但显然会有一些内存浪费。
在内存中执行:
Ext.ToEnumerable(new {CustomerId = 0, Name = "<none>"})
.Concat(db.Customers
.Select(c => new {CustomerId = c.CustomerId, Name = c.Name}).ToList());
ToEnumerable
一个不错的小实用功能在哪里:
public static class Ext
{
public static IEnumerable<T> ToEnumerable<T>(params T[] items)
{
return items;
}
}
请注意,我使用CustomerId = 0
(not null
) 来确保匿名类型匹配。CustomerId
将命名类型与两个字段 (和)一起使用会更好Name
。