2009-08-21 5 views
0

내 프로그램에서 LocalDataCache를 사용하려고합니다. 나는 Linq를 사용하고있다.SQL CE 및 Linq 관련 문제

if (tempVehicle.VehicleFinancialInfo[0].askingPrice != null) 
{ 
    // do stuff 
} 

askingPrice는 (소수?)이다 VehicleFinancialInfo는 LINQ의 entityset 때문이다.

위의 테스트는 SQL Express에서 작동하지만 SQL Compact Edition에서 응용 프로그램이 충돌하는 경우에 위와 같습니다. "지정된 캐스트가 유효하지 않습니다"라는 오류를 표시합니다. 아무도 무슨 일이 일어나고 있는지 알아? 익스프레스 및 컴팩트 에디션 모두에서 작동하는 프로그램이 필요합니다. 온화, 나는 SQL과 Linq에

+0

당신이 확신 예외가 발생하는 곳이 정확히 어디입니까? –

+0

나는 그렇게 생각한다. 여기에 stacktrace의 오류가있다. System.InvalidCastException 처리되지 않았습니다. 메시지 = 지정한 캐스트가 유효하지 않습니다. = System.Data.SqlServerCe를 스택 트레이스 자료 : System.Data.Linq.SqlClient.ObjectReaderCompiler.ObjectReader'2에서 Read_VehicleFinancialInfo (ObjectMaterializer'1) 에서 System.Data.SqlServerCe.SqlCeDataReader.GetDateTime (INT32 서수) 에서 . MoveMext() at System.Data.Linq.EntitySet'1.Load()at System.Data.Linq.EntitySet'1.get_Item (Int32 index) Vis2.FrmVehicleData..ctor (Vehicle _car, FrmMain Main) –

+0

뭔가가 DateTime()으로 변환하려고하는 것처럼 보입니다. SQL 테이블과 SQL Express가 정확히 동일해야합니다. 열이 누락되었거나 다른 순서로 열이있을 수 있습니다. –

답변

0

아차 LocalDataCache 마법사가하여 .sdf 데이터베이스를 생성 할 때 .. 그 NCHAR 같은 날짜 열을 생성 ... 감사 스탠 R.에 멍청한 놈이야