我已经阅读了ASP.NET动态数据的教程,它们都要求您创建静态数据上下文。
那就是你必须使用Entity Framework或Linq to SQL生成数据模型,如果该模型的方案发生变化,那么你需要进入Visual Studio并相应地更改模型。
我正在寻找一种解决方案来处理方案中的更改(即新表或新列),而无需在visual studio中重建。
这是否可以使用ASP.NET动态数据?
答案 0 :(得分:0)
不是,您的选择是:实体框架或Linq to SQL。两者都生成一堆具有getter和setter属性的类以及详细描述元数据的属性,这在将数据库表拖放到数据上下文时自动完成。
我认为没有第三种选择,即使你可以编码它'当然不会是微不足道的,在更改数据库之后重做数据上下文会更容易,总共需要更少的时间。
虽然我很欣赏数据库表和列确实发生变化,但是经常频繁的数据库更改会破坏最终用户的服务吗?
唯一的解决方法是以某种自动方式运行SqlMetal http://msdn.microsoft.com/en-us/library/bb386987(v=vs.110).aspx,例如计划任务运行PowerShell脚本或批处理文件。然而,这将需要重新编译和重新部署,这也将中断最终用户,除非在没有人使用它时完成。
另外,它只会为您提供真正基本的New,View,Edit屏幕 - 除了真正快速而肮脏的应用程序之外,它们不会看到它们的用途。
如果动态数据能够满足您的要求,那将会很酷。
您可以从命令行使用SqlMetal.exe来生成类,我相信Visual Studio会在幕后执行此操作。