我在设置SDF数据库的路径时遇到了一些问题。WinCE:无法将数据插入到sdf数据库中
我原来的连接
<add name="Model1Container" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlServerCe.4.0;provider connection string="data source=|DataDirectory|\Database1.sdf"" providerName="System.Data.EntityClient" /></connectionStrings>
然后我试图使用ConfigurationManager中获得的数据库连接字符串,但它产生的,而不是使用连接字符串我有一个错误(元数据不支持)
之后,试了好几种其他的方法,如:
string StartupPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);
string datalogicFilePath = Path.Combine(StartupPath, "Database1.sdf");
string connectionString = string.Format("DataSource={0}", datalogicFilePath);
这一次将抛出URI格式异常
@"Data Source = |DataDirectory|\Database1.sdf"
这个能够为ExecuteNonQuery返回1,但是我看不到它自己的任何变化。
然后我意识到它可能是复制到输出目录属性。我试过“不要复制”,并且在bin \ database1.sdf找不到的地方产生了错误信息。我已将它重新设置为“复制,如果更新”。
但是,当我使用完整路径数据库C:..................... \ Project \ database1.sdf时,它能够更新数据库。有没有任何可能的方式来做到这一点,而不是提供一个完整的路径?