我已經構建了一個使用SQL Server Compact 4.0(.sdf)作爲數據的應用程序。 用戶應該能夠將.sdf文件保存並加載到應用程序中。 我已經能夠建立一個方法來創建一個空的.sdf文件。但我的App.Config有一個到預定義的.sdf(實體框架)的連接字符串。如果用戶應該能夠加載.sdf文件,我需要將app.config文件的連接字符串設置爲針對新創建的.sdf文件。設置連接字符串實體框架
如何動態設置實體框架以對抗我的新.sdf文件?
這是我創建sdf的類的代碼。在此之後,用戶應該能夠選擇對哪些文件進行處理。我如何設置?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Data.SqlServerCe;
using System.Configuration;
using GLL.Properties;
namespace GLL
{
public partial class LoadDatabaseForm : Form
{
public LoadDatabaseForm()
{
InitializeComponent();
}
private void buttonNew_Click(object sender, EventArgs e)
{
createDatabase();
setConnectionString();
}
private void setConnectionString()
{
ConnectionStringSettings str = System.Configuration.ConfigurationManager.ConnectionStrings["GLLDBEntities"];
MessageBox.Show(str.ConnectionString);
}
private void createDatabase()
{
string connStr = "Data Source = FooDatabase.sdf; Password = SomePassword";
if (File.Exists("FooDatabase.sdf"))
File.Delete("FooDatabase.sdf");
SqlCeEngine engine = new SqlCeEngine(connStr);
engine.CreateDatabase();
SqlCeConnection conn = null;
try
{
conn = new SqlCeConnection(connStr);
conn.Open();
SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandText = "CREATE TABLE FooTable(col1 int, col2 ntext)";
cmd.ExecuteNonQuery();
}
catch
{
}
finally
{
conn.Close();
}
}
}
}