代码优先 - 如何以编程方式生成DbContext和实体?

时间:2016-06-28 16:36:12

标签: ef-code-first entity-framework-6

因此,遵循此示例(https://msdn.microsoft.com/en-us/data/jj193542),我能够手动键入Entity类和DbContext类,以便从头开始创建新数据库。

这一切都很好,但是,我需要以编程方式创建DbContext和实体(来自我构建的提供元数据的程序集),而不是手动输出它们。然后我需要在编译或运行时动态地在SQL中创建数据库,而不是在以编程方式添加记录时(如上面链接中的示例所示)。

使用Code-First方法可以实现吗?

1 个答案:

答案 0 :(得分:0)

现在已经解决了。要生成DbContext和Entities,我使用了T4模板(有关T4模板的更多信息,请参阅:https://msdn.microsoft.com/en-us/data/gg558520.aspx),然后只需调用Database.Initialize(false)强制数据库在应用程序(本例中为控制台应用程序)时创建被执行。

        using (var db = new MyContext())
        {
            db.Database.Initialize(false);
        }