I'm starting to play around with the code-first approach to the entity framework, primarily so that I can decorate my properties with annotations for display in my view (otherwise, right now I have to create a class that is nearly identical to the one that entity framework generated for me just so I can add annotations, and then copy the data from one object to the next).
Right now it looks like when I start my application it is trying to create a database.
I do not want entity framework to ever modify my database. No. Not ever. Don't even try it. It really isn't that hard to modify databases; I would feel much more comfortable if I did that myself. I don't need a framework to hold my hand when designing a database.
Can I tell the framework to stop trying to modify my database? I'm very hesitant to use code-first now as the fact that it's trying to modify my database is rather frightening. Even in development I never want to see it happen.
Am I out of luck?
Since code first pretty much exactly does what you describe, I do not understand your question.
If you don't want EF to fiddle with your database, then generate a model from your existing database.
If you want to use EF but never modify the database then you probably don't want code first. You probably want something more like database first.
http://blogs.msdn.com/b/adonet/archive/2011/03/15/ef-4-1-model-amp-database-first-walkthrough.aspx
Links from answer comments:
http://automapper.codeplex.com/
Getting Started with AutoMapper
edit: I misunderstood the goal, you should reference this answer where the following correct code was given:
When you declare you're initialiser, use the base class:
rather than :
Or if you use :
replace this with :
If you don't want EF to create your database, you can disable the database initializer:
See http://www.entityframeworktutorial.net/code-first/turn-off-database-initialization-in-code-first.aspx