sql-server - Entity Framework .Database.Initialize(true) 在 Azure 上工作时不创建表
问题描述
我有 mvc 应用程序。我正在使用代码优先的方法。当新租户注册到系统时,我使用 azure sql fluent api 创建新数据库。
数据库创建没有问题,但它如预期的那样是空的。为了从我的迁移中初始化数据,我称myDB.Database.Initialize(true);
它通过而没有任何错误,但没有创建表。
myDB.Database.Initialize(true);
为了确保我在本地计算机上运行项目,并在初始化运行数据库后将连接字符串指向天蓝色数据库 。
我研究了互联网人指出应用迁移的超时问题。即使我没有任何超时问题延长迁移超时但仍然相同。
当我从我的计算机运行(连接到 azure db)时它会创建表,但在 azure 上运行时它不会创建,即使我没有看到任何错误。
知道为什么它不在 azure sql 数据库上创建吗?
尝试更改迁移配置的超时。
解决方案
根据评论,恭喜 Cozdemir 解决了这个错误:
我通过关注广告解决了我的问题。我认为我的问题是因为我的应用程序是多租户的。我使用连接字符串动态连接到数据库。每个租户通过连接字符串动态连接到他/她的数据库。所以连接字符串不在我的 webconfig 中。这就是为什么我需要指定连接字符串。而上面的线程正是关于这一点。我实现了该代码并且它有效。参考:EF Code First MigrateDatabaseToLatestVersion 接受来自配置的连接字符串名称
我将此作为答案发布,这可能对其他社区成员有益。
推荐阅读
- python - 多页抓取期间的 NoneType 错误
- javascript - Javascript 在没有“HTML5 地理位置”和互联网的情况下获得智能手机 GPS
- python - 找不到任何方法来关闭 csv 文件
- azure-sql-database - Azure App Service Application Insights 不显示依赖的 sql 命令文本
- r - 绘制除一个变量之外的所有变量的总和
- pandas - 从数据框列中查找最大元素会出错
- react-native - 不变违规:元素类型无效:预期为字符串 - 反应原生
- java - Inheritance and Try-With-Resources
- c# - 在 C# 中解析西班牙语日期在桌面和服务器上的工作方式不同
- c# - Why is my model and its variables not passing from View to Method inside of my Controller?