2011-08-24 70 views
2

净MVC3应用使用VS2010 标签,其允许在选项卡中配置数据库的ConnectionString如下 如何配置连接字符串中为ASP.Net MVC3

如何过我的主机服务器不支持它,并迫使我把连接字符串放在标签内如下

我该如何使用MVC 3实体框架代码第一个基于模型的应用程序的ConnectionString。是否有可能把连接字符串内的选项卡,如果它可能那么我怎么可以在我的ASP.Net MVC3实体框架代码第一模型中使用它?

回答

0

Finaly做得太多 - [R & d后,我得到了成功部署,没有任何的疑难问题数据库连接正常工作尝试部署共享托管服务器上的实体框架代码优先模式我MVC3应用程序共享托管服务器上我MVC3应用但它不允许我使用共享托管服务器上的数据库创建和删除权限。我尝试了太多,它应该允许我使用Entity Framework Code First托管我的应用程序,但由于共享主机数据库服务器上的访问权限有限,我无法执行ID。最后,我需要找到一些替代方案,我尝试使用实体框架数据库优先模型部署我的MVC3应用程序。它会为您的模型类生成edmx文件,但您可以使用ADO.Net DBContext代码生成器的T4模板将其更新为poco类。请观看Julie Lerman的以下视频以获得更多关于它的信息。

http://msdn.microsoft.com/en-us/data/gg702905

一旦你开发你的应用程序,如上面的视频,在连接字符串与您的托管服务器数据库值更改你的web.config设置和发布应用程序,并上传你的FTP服务器上。你发现它工作没有任何问题。

2

使用connectionStrings节,不是的appSettings

<connectionStrings> 
     <add name="MyApp" connectionString="DataSource=|DataDirectory|MyApp.sdf" providerName="System.Data.SqlServerCe.4.0" /> 
    </connectionString> 

这里假设你的DbContext类也被称为MyApp的。您需要在上面的连接字符串中更改MyApp以匹配DbContext类的名称。

该连接字符串还假定您的项目中有一个App_Data文件夹。如果你不这样做,你可以通过右键点击你的web项目来添加它,选择添加,Asp.Net文件夹,然后是App_Data。

如果所有设置都正确,当您运行应用程序并击中使用DbContext的页面时,它将自动在App_Data文件夹中生成sdf文件。你也可以使用一个普通的SQL Server连接字符串,但是CE是一种很好的方式,可以确保在你开始的时候所有事情都以你喜欢的方式工作。

+0

嗨内森,如果我使用connectionString,因为你提到它的工作正常在我的本地机器上,但它不能在我的Web服务器上工作,它给我错误的无效提供者名称。当我向Hosting Provider请求时,他们建议我在web.config中配置连接字符串标记,而不使用提供者名称。你知道如何配置web.config文件的标签中的连接字符串,并将其用于MVC3实体框架代码优先模型的应用程序吗? –

+0

你在服务器上使用什么类型的存储?它是一个真正的SQL服务器吗? SQLCE? MySQL的?我不相信你可以使用appSettings节来存储实体框架使用的连接字符串。 –

+0

这是我的共享虚拟主机服务器上的SQL Server。我发现了Database.DefaultConnectionFactory的一个选项,我们可以在其中传递存储在中的连接字符串。但我不知道如何在Global.asax中配置它。我们可以直接在控制器页面上使用它,我们需要以下面的方式触发查询Database.DefaultConnectionFactory.CreateConnection(System.Configuration.ConfigurationManager.AppSettings [“ConnctionString”]。ToString());如果您有任何想法,请告诉我。 –