这个问题对我来说很奇怪,我甚至不知道如何解释它。首先让我说一切都在当地运作良好。当我将我的应用程序发布到Web服务器时,问题就出现了。起初我得到“自创建数据库以来,支持'DataContext'上下文的模型已经改变。考虑使用Code First Migrations来更新数据库”。奇怪,因为我没有对我的数据模型进行任何更改。我做的第一件事是删除了数据库然后运行update-database以使用代码优先迁移再次创建它。测试本地工作正常然后发布(删除所有)并得到相同的错误。然后我将初始化程序设置为null并删除IncludeMetadataConvention
。删除db,update-database,发布。现在我收到错误“无效的列名'Item_ID'”。好吧,这是有道理的,因为我的数据库中没有列'Item_ID'。运行SQLProfile我可以看到本地生成的sql不包括列,但是当它在服务器上运行时它会。几个小时后,我一直在寻找不正确的连接字符串或我可能错过的任何其他小东西,我决定将我的整个本地文件夹手动复制到Web服务器。还是一样的错误。我不再知道在哪里看,想要任何想法或建议。如果我能提供任何可能有用的代码,请告诉我。
我最近发现,如果我使用CreateDatabaseIfNotExists<DataContext>()
并让db在服务器上创建,它将在服务器上运行,但不在本地运行。