【发布时间】:2009-08-21 18:28:46
【问题描述】:
我正在尝试让我的程序使用 LocalDataCache。我正在使用 Linq。
if (tempVehicle.VehicleFinancialInfo[0].askingPrice != null)
{
// do stuff
}
askingPrice 是一个(十进制?),因为 VehicleFinancialInfo 是一个 linq 实体集。
上述 if 测试在 SQL Express 上运行,但它在 SQL Compact Edition 中使应用程序崩溃。它给出了错误“指定的演员表无效”。有谁知道发生了什么。我需要该程序同时使用快速版和精简版。温柔点,我是 SQL 和 Linq 的菜鸟
【问题讨论】:
-
你确定这正是你得到异常的地方吗?
-
我想是的,这是来自错误的堆栈跟踪的片段。 System.InvalidCastException 未处理 Message=Specified cast 无效。 Source=System.Data.SqlServerCe StackTrace:在 System.Data.SqlServerCe.SqlCeDataReader.GetDateTime(Int32 序数) 在 Read_VehicleFinancialInfo(ObjectMaterializer
1 ) at System.Data.Linq.SqlClient.ObjectReaderCompiler.ObjectReader2.MoveNext() 在 System.Data.Linq.EntitySet1.Load() at System.Data.Linq.EntitySet1.get_Item( Int32 索引)在 Vis2.FrmVehicleData..ctor(Vehicle _car, FrmMain Main) -
看起来有些东西正试图转换为 DateTime() 确保您的 SQL 表在 SQL Express 和 SQL Compact 中完全相同。您可能缺少列或列的顺序不同。
-
谢谢.. 我下班回家再看看。本地数据库是使用本地数据库缓存向导生成的。我希望它能正确复制快递数据库。