데이터 용으로 SQL Server Compact 4.0 (.sdf)을 사용하는 응용 프로그램을 만들었습니다. 그러면 사용자는 .sdf 파일을 저장하고 응용 프로그램에로드 할 수 있어야합니다. 빈 .sdf 파일을 만드는 메서드를 빌드 할 수있었습니다. 내 App.Config에는 미리 정의 된 .sdf (Entity Framework)에 대한 연결 문자열이 있습니다. 사용자가 .sdf 파일을로드 할 수 있어야한다면 새로 만든 .sdf 파일에 대해 작동하도록 app.config 파일의 connectionstring을 설정해야합니다.연결 문자열 설정 엔터티 프레임 워크
새 .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();
}
}
}
}