データ用にSQL Server Compact 4.0(.sdf)を使用するアプリケーションを構築しました。 ユーザーは.sdfファイルをアプリケーションに保存して読み込むことができます。 空の.sdfファイルを作成するメソッドをビルドすることができました。私のApp.Configには、あらかじめ定義された.sdf(Entity Framework)への接続文字列があります。ユーザーが.sdfファイルを読み込めるようにするには、新しく作成した.sdfファイルに対してapp.configファイルのconnectionstringを設定する必要があります。接続文字列を設定するEntity Framework
新しい.sdfファイルに対して機能するように動的にEntity Frameworkを設定するにはどうすればよいですか?
これはこれまでの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();
}
}
}
}