首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否从实体框架上下文中获取SQL Server Compact文件的路径?

是否从实体框架上下文中获取SQL Server Compact文件的路径?
EN

Stack Overflow用户
提问于 2013-05-13 21:22:51
回答 1查看 1K关注 0票数 0

我正在尝试以编程方式备份SQL Server CE数据库。显然,这应该只涉及复制数据库文件。

我的第一个解决方案是这样的:

代码语言:javascript
复制
var connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["MyEntities"].ConnectionString;
var efBuilder = new System.Data.EntityClient.EntityConnectionStringBuilder(connectionString);
var builder = new System.Data.SqlClient.SqlConnectionStringBuilder(efBuilder.ProviderConnectionString);

var src = builder.DataSource.Replace("|DataDirectory|", System.AppDomain.CurrentDomain.BaseDirectory);
var dest = @"C:\temp\backup.sdf";

// file-copy src to dest here

然后我突然意识到:我在这里只是为了复制实体框架内部正在做的功能(更不用说用固定路径替换|DataDirectory|了)。

然后我试了一下:

代码语言:javascript
复制
using (var conn = entities.Database.Connection)
{
    // conn.Open();
    var path = conn.Database;
}

其中entities是我的上下文,但它仍然只提供给我:|DataDirectory|\db.sdf

问:有没有一种适当的方法来获得SQL Server CE文件的实际路径,并替换为|DataDirectory|

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-14 01:31:37

您在用于解析完整路径的conn.Database属性SQL Server Compact4.0 SP1中遇到了错误。您可以使用SqlCeReplication对象的SubscriberConnectionString作为变通方法-请参阅我的博客文章:http://erikej.blogspot.dk/2013/02/sql-server-compact-code-snippet-of-week_19.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16523152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档