ObjectContext.CreateDatabase()创建不在.edmx模型中的其他表

时间:2013-02-12 12:40:01

标签: c# database entity-framework objectcontext

我有以下代码:

HorekoEntities db = new HorekoEntities(Utils.GetDbConnStrByName(db_name));
if (!db.DatabaseExists())
{
    db.CreateDatabase();
}

使用HorekoEntities模型中的表创建数据库。 问题是它增加了3个不在该模型中的表。我在模型中有这些表,但我也从模型和数据库中删除了它们。

关于取消标记我无法在db中看到这些表格,而且它们不在db.CreateDatabaseScript()中。 (我读到CreateDatabase()首先调用CreateDatabaseScript(),然后用该脚本创建数据库的地方)

MSDN文档将方法描述为:

“使用当前数据源连接和StoreItemCollection中的元数据创建数据库。”

我试图找出StoreItemCollection中的最新情况,但我无法弄清楚如何实现它。 也许StoreItemCollection以某种方式缓存这3个表?

另一件可能很重要的事情是这个问题只发生在我们的实时服务器的连接字符串中。我的机器本地没有。

1 个答案:

答案 0 :(得分:0)

您使用设计器从上下文中删除了表格,对吗?他们仍然在你的SSDL中。以文本形式打开EDMX(XML编辑器),搜索表名,并删除对该表的任何引用。