1

我正在寻找与以下 SQL 等效的 linq to entity 查询。

select null, '<None>'
union select CustomerId, Customer from Customers

然后,我会将生成的对象列表(可以是显式类或匿名类的实例)绑定为组合框的列表源。我不需要 Customer 实体类的所有字段,但如果生成的对象列表是此类的实例,而不是“存根”类,这不会是一个大问题,但显然会有一些内存浪费。

4

1 回答 1

0

在内存中执行:

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

于 2012-08-17T14:14:39.470 回答