问题
My SQL Server is hosted by my hosting provider. This means that I don't have permission to recreate (or create) the database.
This is causing me a problem with EF 4 - it thinks the tables are missing, which they are. I think is caused by not being able to recreate the database.
To recap: developed locally, moving to hosted server for first time run, switched the connection string, run against the hosted server, error saying Invalid object name 'dbo.Products'.
I have permission to create anything else apart from the DB
Am I correct in this assumption and how do I work around this?
回答1:
In EF 4.3 you can use the Package Manager Console from the tools menu item in visual studio. This will allow you to use migrations to generate a DB script. More info here
http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-code-based-migrations-walkthrough.aspx
You could of course create a drop and create script yourself
回答2:
You can create the database manually and set the Database.SetInitializer(null) or you could try the EF 5 RC. In the release notes you can read that they solved this issue.
来源:https://stackoverflow.com/questions/11135823/entity-framework-4-3-hosted-sql-server-no-database-create-permissions