我刚刚在 ASP.Net MVC 中使用 LINQ to Entities 开始一个项目,我想知道是否有一种漂亮、干净的方法来定义模型,为我在数据库中创建适当的表。我最熟悉 Django(就 MVC 框架而言),正在寻找与 models.py
等效的 .Net,这样我就可以对所有内容进行版本控制。有任何想法吗?如果它有某种形式的架构迁移,django-evolution 等,那就更好了。
最佳答案
我认为你想做的是扭转这个问题。实体可以从数据库中自动生成,因此问题只是使用 .NET 机制来维护您的数据库模式。由于您没有使用这些其他解决方案所需的 NHibernate,我建议使用 MigratorDotNet . MigratorDotNet 使用与 Ruby on Rails 迁移完全相同的想法:
- 您的数据库会跟踪其版本
- 每次您希望更改架构时,您都编写一个小类来处理升级(以及可选的降级)
- 为这些类分配一个执行顺序
- 如果数据库不是最新的,只需按顺序执行类的升级方法
由于您只会在编译时重新生成您的实体,我建议您运行迁移脚本,然后重新生成您的实体,作为构建过程的一部分。 MigratorDotNet 已附带 an MSBuildTarget , 添加它只需要点击几下。
关于asp.net-mvc - 在 ASP.NET MVC 中创建模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/849216/