将Lambda转换为Guid列表

时间:2013-01-19 15:54:34

标签: lambda entity-framework-5

我在ASP.NET MVC 4中使用实体框架5,我是新手。我想将实体主键作为列表。主键是Guid类型。当我编写以下代码时,我收到错误:

List<Guid> list = DB.Complex.Where(d => d.IsActive == true)
.Select(d => d.PKComplexRoomID).ToList<Guid>();

错误:

'System.Linq.IQueryable<System.Guid?>' does not contain a definition for 'ToList' and the best extension method overload 'System.Linq.Enumerable.ToList<TSource>(System.Collections.Generic.IEnumerable<TSource>)' has some invalid arguments

我用谷歌搜索但找不到任何东西。

1 个答案:

答案 0 :(得分:1)

看起来PKComplexRoomID可以为空,因为您的选择结果属于System.Linq.IQueryable<System.Guid?>类型。

这取决于您的情况,但假设活动实体的房间ID不为空,您可以尝试:

List<Guid> list = DB.Complex.Where(d => d.IsActive == true && d.PKComplexRoomID.HasValue).Select(d => d.PKComplexRoomID.Value).ToList();