2012-07-07 1 views
3

나는 simple.datasimple.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는 어떤 유형입니까? –

+0

Sql 데이터 형식은 uniqueidentifier이며, GUID이고 테이블의 기본 키입니다. Factura –

+0

어떤 형식인지는 db.Factura.Id가 C# 코드에서 선언 한 것과 같습니다. .net 유형은 무엇입니까? –

답변

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는 내가 찾던 것이었다 ... 고마워! –