我在使用带有Ling2SQL的.sdf数据库文件时遇到问题。我在.NET 3.5上使用VS2010。到目前为止我做了什么:
将SQLMetal.exe和SqlMetal.exe.config复制到项目文件夹并使用以下命令调用它:
SQLMetal.exe database.sdf /dbml:DataOffline.dbml /namespace:CTcalc /pluralize
将dbml文件添加到项目中(已创建designer.cs)
向designer.cs添加新方法
public DataOfflineDataContext() :
base(global::CTcalc.Properties.Settings.Default.databaseOfflineConnectionString, mappingSource)
{
OnCreated();
}
将connectionString添加到设置文件(type:connectionString)
Data Source=|DataDirectory|\database.sdf
使用连接:
using (DataOfflineDataContext dc = new DataOfflineDataContext())
lProtFunc = (from c in dc.ProtectionFunctions select c).ToList();
调试我的项目时,我遇到HRESULT的BadImageFormatException错误:0x8007000B
我不知道如何修复它。有什么帮助吗?
答案 0 :(得分:0)
您必须在x64系统上安装x86和x64运行时 - http://www.microsoft.com/download/en/details.aspx?id=5783
答案 1 :(得分:0)
我的错误是在我的项目中使用了错误的.dll。
我用过
Program Files\Microsoft SQL Server Compact Edition\v3.5\Desktop\System.Data.SqlServerCe.dll
而不是
Program Files\Microsoft SQL Server Compact Edition\v3.5\Private\System.Data.SqlServerCe.dll
现在它正在运作!