Я создал приложение, которое использует SQL Server Compact 4.0 (.sdf) для данных.
Затем пользователь должен иметь возможность сохранять и загружать файлы .sdf в приложение.
Я был в состоянии построить метод, который создает пустой файл .sdf. но мой App.Config имеет строку подключения к предопределенному .sdf (Entity Framework). Если пользователь должен иметь возможность загрузить файл .sdf, мне нужно установить строку подключения файла app.config для работы с вновь созданным файлом .sdf.
Как мне динамически настроить Entity Framework для работы с моим новым файлом .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();
}
}
}
}