我正在使用.Net Framework 4.0。我有一个实体模型(.edmx),我的程序中有一个菜单选项用于连接到现有数据库或创建一个新的数据库。当用户选择创建新数据库时,我想从实体模型生成数据库和模式。任何想法如何做?如何以编程方式从ADO.Net实体模型创建数据库?
0
A
回答
0
1
不要这样做。它只适用于你的v1产品,只要你计划发布v1.1,你就会意识到你无法将现有的已部署数据库升级到新的模式。
而是使用脚本来创建所有对象(包括索引,关系,约束,所有内容),并使用升级脚本来控制如何将每个模式版本升级到下一个版本,如Version Control and your Database中所述。
一个较弱的选择是在您的解决方案中有一个Visual Studio数据库项目,因为VSDB项目具有升级功能,虽然基于差异。它们允许您使用vsdbcmd工具部署.dbschema文件,该工具可以区分和升级现有模式。您可以通过构建转换步骤将VSDB项目输出转换为EF模型(不是微不足道的,但有可能)。
总的来说,不要因EF(或Linq)建模的诱惑而成为定义您的模式的主模块。稍后你会付出更大的代价。
相关问题
- 1. 以编程方式创建Oracle数据库和模式ADO.NET
- 2. ADO.NET实体模型+ DataGridView:如何编写数据库更改
- 3. 以编程方式创建数据库
- 4. 以编程方式从edmx实体3.5文件创建数据库
- 5. 以编程方式创建django模型
- 6. 以编程方式创建实体(核心数据)
- 7. 如何使用实体框架从数据库模型创建数据库
- 8. 从ADO.NET实体模型
- 9. 错误创建ADO.Net实体数据模型
- 10. ADO.NET实体数据模型创建问题
- 11. 的AdventureWorks不能创建ado.net实体数据模型
- 12. 从ADO实体数据模型创建数据库
- 13. 从模型创建数据库实例
- 14. 如何以编程方式创建sqlite数据库?
- 15. 如何在SQL Server中以编程方式创建数据库?
- 16. 如何以编程方式在couchdb中创建数据库?
- 17. 如何以编程方式创建新的Mongo数据库?
- 18. Android - 如何以编程方式创建数据库
- 19. 如何以编程方式创建Firebird数据库?
- 20. 从实体框架模型构建数据库模式
- 21. 如何将以编程方式创建的实体添加到数据服务?
- 22. ADO.NET实体数据模型BUG
- 23. ADO.NET实体数据模型 - 重复
- 24. Postgres数据库不适用于ADO.NET实体数据模型
- 25. 以C#编程方式从数据库创建XSD
- 26. 如何以编程方式在EMF中创建模型实例的子实例
- 27. 如何移动Ado.net实体数据库?
- 28. 如何以编程方式从数据库生成实体框架类?
- 29. 以编程方式从生产数据库创建空白数据库
- 30. 实体框架从现有数据库创建核心模型