【发布时间】:2011-07-12 10:55:24
【问题描述】:
如果您急于理解这一点,请跳到最后一段。
我是 MVC2 的新手,我的任务是用它创建一个数据库管理应用程序。在花了几周时间掌握了窍门之后,我终于开始编写我的生产代码了。为了测试我的代码,我需要能够访问开发服务器上的数据库副本。当需要发布发布版本时,它显然需要与实时数据库一起使用。
最初,我创建了维护数据库的两个并排模型(使用实体框架),并将另一个的命名空间更改为 DevModels 之类的东西,而不是 Models,以避免名称冲突(它们是完全相同的模型,只是来源不同)。这导致的问题比解决的问题多。无论如何,在翻阅 Pro ASP.NET MVC 2 Framework 一书时,我有了一个好主意,只需更改 Web.Config 文件中的数据源。这样,当我发布应用程序时,它会自动拥有正确的数据源。长话短说,这并不完全奏效,导致的问题多于解决的问题。
无论如何,我已经环顾四周,但我什么也找不到。我发现的所有材料都相当不具体,让我更加困惑。我确信有一种简单的方法可以做到这一点,因为它必须是一种常见的事情。
所以,总而言之,我如何编写一次 MVC2 应用程序并能够将模型与不同的数据源一起使用,这样我就不必大量修改代码来制作我的应用程序的生产版本?
更新: 这是我更改之前和之后的连接字符串。之前=开发服务器
`metadata=res:///Models.MaintModel.csdl|res:///Models.MaintModel.ssdl|res://*/Models.MaintModel.msl;provider=System .Data.SqlClient;provider connection string='Data Source=EXP_POWERSUITE2;Initial Catalog="Maint DatabaseSQL";Integrated Security=True;MultipleActiveResultSets=True'"
`metadata=res:///Models.MaintModel.csdl|res:///Models.MaintModel.ssdl|res://*/Models.MaintModel.msl;provider=System .Data.SqlClient;provider connection string='Data Source=EXP_POWERSUITE;Initial Catalog="Maint DatabaseSQL";Integrated Security=True;MultipleActiveResultSets=True'"
另外,为了确保我有正确的连接字符串,我启动了一个新应用程序并制作了一个新的 edm,名称和所有内容都相同,但面向实时数据库。我一直在寻找任何明显的差异,但这与我上面的完全相同。
另外,我可以在我的应用程序中从数据库中检索和显示行。我只是无法添加它们。
我正在使用 MS SQL Server Manager 2008 R2。
【问题讨论】:
标签: database visual-studio-2010 asp.net-mvc-2