【发布时间】:2011-12-28 16:10:01
【问题描述】:
我构建了一个使用 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();
}
}
}
}
【问题讨论】:
标签: .net entity-framework sql-server-ce-4 sdf