我正在使用Entity Framework 4.1 Code First,Sqlite和WPF。
我想将app.config ConnectionString重新定义为sqlite,因此我可以在运行时定义数据源(Sqlite数据库文件的路径)。
我的猜测是使用EntityConnectionStringBuilder来创建连接字符串。但我不知道我构建的事件是什么,并分配连接字符串,因此EF Code First将检测更改并将在应用程序的所有代码中使用较新的ConnectionString(而不是使用app.config ConnectionString)。我想它会放在Application_Startup事件上,但我不知道这是不是最好的实践。
提前谢谢。
答案 0 :(得分:2)
如果这就是你想要的,
您可以通过DbContext(string)
构造函数在运行时传递字符串 - 有关详细信息,请参阅此处DbContext(string)
您还可以使您的上下文实现获取该参数并将其传递给base
DbContext。
希望这会有所帮助
答案 1 :(得分:0)
如果您使用的是EF 4.1 CF,那么一旦您生成* .edmx文件,它应该自动创建您的app.config。您不需要创建自己的app.config,也可以在有现有app.config时进行更改。