输出使用Entity Framework 4.1 Code-First创建SQL

mld*_*mld 3 .net ef-code-first entity-framework-4.1

Database.SetInitializer()适用于测试,但我需要在文件中输出SQL以便在生产环境中工作(DBA不会运行程序来创建数据库).Castle ActiveRecord可以轻松输出文件ActiveRecordStarter.GenerateCreationScripts().如果在EF中有类似的方法,我无法找到任何提及它.这可行吗?

小智 9

您还可以使用DbContext来获取Sql DDL.

string sqlscript = (context as IObjectContextAdapter).ObjectContext.CreateDatabaseScript();
Run Code Online (Sandbox Code Playgroud)