2012-07-07 49 views
3

我在simple.data如何在simple.data中投射到IEnumerable <Guid>?

var db = Database.Open(); 
IEnumerable<Guid> recetas = db.Factura 
    .All() 
    .Where(db.Factura.ObraSocialPlan_id == obraSocialPlanId) 
    .Select(db.Factura.Id) 
    .Cast<Guid>(); 

此查询而我越来越

无法隐式转换类型'Simple.Data.SimpleRecord''System.Guid'

我应该如何更改查询?

+0

db.Factura.Id是什么类型? – 2012-07-07 13:06:53

+0

Sql数据类型是uniqueidentifier,它是一个Guid,它是表Factura的主键 – 2012-07-07 13:10:17

+0

我指的是在C#代码中声明的db.Factura.Id的类型。什么是.NET类型? – 2012-07-07 13:13:59

回答

7

你不能这样对一个枚举,但可以将其具体化到像这样的列表:

var db = Database.Open(); 
IEnumerable<Guid> recetas = db.Factura 
    .All() 
    .Where(db.Factura.ObraSocialPlan_id == obraSocialPlanId) 
    .Select(db.Factura.Id) 
    .ToScalarList<Guid>(); 

如果你想偷懒,这样你就可以某处通过枚举,而无需实际运行查询,请在GitHub页面上提出问题:http://github.com/markrendle/Simple.Data/issues

谢谢。

+0

是的,ToScalarList是我一直在寻找...谢谢! – 2012-07-07 13:57:15

相关问题