Entity Framework 4.1 Code First works great with SQLEXPRESS
on localhost
. However, I'm now ready to connect to a regular SQL 2008 server
.
I created a new database "NewEfDatabase".
Then changed my "ApplicationServices
" connectionString
in Web.config
to point to my new database with integrated security.
But then I get this error:
"CREATE DATABASE permission denied in database 'master'.
"
So...
a) What permissions does EF 4.1 CF need on said SQL server to do its work?
b) Can I setup an empty database on SQL 2008
for EF 4.1 CF, or do I have to let it do all that work for me? (I'm not sure my DBA would appreciate letting my EF app have rights to do anything outside a particular database)
Did you make sure to set your Database Initializer to null
in your code:
Database.SetInitializer<MyDbContext>(null);
All built-in implementations if the initializer may try to drop or create a new database. The error you get indicate that EF tried to drop/create a database but hasn't the right to do so in your SQL Server instance. The line above is the only option to avoid this generally and is suited (I think even absolutely necessary) for live environments anyway where you don't want accidental deletion (due to model changes or something).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With