【发布时间】:2015-07-02 12:59:58
【问题描述】:
我刚刚将我的应用发布到 IIS 服务器 (localhost)。
这是为了检查发布过程。一切顺利,文件已复制,站点启动良好,没有错误,数据库已创建。
我想念一件事:数据。我的种子方法没有被触发,因此缺少初始数据。
我尝试在 Microsoft 网站和 StackOverflow 中查找,但无济于事。
这些是我的迁移配置和种子:
internal sealed class Configuration :
DbMigrationsConfiguration<CobwebsCommon.DAL.CobwebsContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = true;
ContextKey = "CobwebsCommon.DAL.CobwebsContext";
}
protected override void Seed(CobwebsCommon.DAL.CobwebsContext context)
{
//if (System.Diagnostics.Debugger.IsAttached == false)
// System.Diagnostics.Debugger.Launch();
Logger.Info("Cobwebs DB seed started");
try
{
var db = new CobwebsContext();
DbGen dbGen = new DbGen(context);
dbGen.GenerateDb();
}
catch (Exception e)
{
Logger.Error("Error creating db: {0}", e);
}
Logger.Info("Cobwebs DB seed finished");
}
}
【问题讨论】:
-
“我的种子方法没有被触发” - 你确定吗?你的日志工作吗?
-
你保存了吗?为什么需要
var db = new CobwebsContext(); -
@CodeCaster 是的,我的日志文件确实有一些行,但上面代码中的三个都没有
-
@BikalBhattarai 我们的一位开发人员是这样编写 dbGen 类的,它接收一个上下文对象,在其中调用 saveChanges
-
在 Visual Studio 上运行时,它确实按预期工作
标签: c# asp.net-mvc entity-framework iis entity-framework-migrations