实体框架创建数据库&表在运行时

时间:2012-07-06 21:11:20

标签: c# wpf entity-framework

我在.edmx文件中创建了一些表,并通过选择“从模型生成数据库”并在数据库上手动执行.edmx.sql文件来生成数据库来生成数据库。

然而,现在,我正在创建一个设置对话框,允许用户将程序连接到他们自己的数据库。我认为运行context.CreateDatabase将足以创建数据库以及表,但不会创建表。

当用户最初以模型开始时指定自己的服务器和数据库时,创建数据库和表的首选方法是什么?

1 个答案:

答案 0 :(得分:7)

好的,我想出了一种创建表和数据库的方法(不一定是最好的方法)。 CreateDatabaseScript的结果可以执行:

// create the database
db.CreateDatabase();
// grab the script to create the tables
string createScript = db.CreateDatabaseScript();
// execute the script on the database
db.ExecuteStoreCommand(createScript);

您必须进行一些检查以确保表格和数据库尚未创建,否则应用程序将崩溃。

我打算将我的项目转换为代码优先。希望以上内容可以帮助任何人看。