如果我查看现有项目,如何确定它是EF Code First,还是Model First,还是DB First?

时间:2016-03-16 11:24:57

标签: entity-framework

我正在审查现有的ASP.NET MVC(5.2.3)EF(6.1.3)项目。

该项目使用ASP.NET Identity,我查看了web.config中的2个连接字符串,一个用于ASP.NET标识,另一个用于EF。两者都指向同一个数据库,我已经成功修改了它们以便让我们调用" mydb" 我还查看了mydbModel.edmx项目项目。

当我运行项目时,mydb会自动创建其中的ASP.NET标识表(如预期的那样),但是其他表(对于在mydbModel.edmx中定义的实体)则不是。没有错误消息,除非以后应用程序找不到表。

此外,我也发现了以下几行,所以我认为它绝对不是Code First:

public partial class MyDbEntities : DbContext
{
    public MyDbEntities()
        : base("name=MyDbEntities")
    {
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        throw new UnintentionalCodeFirstException();
    }

虽然我从EF出现以来一直在使用EF(主要是DB First),但遗憾的是我不确定其他主要方法及其变体。

我还应该检查什么来确定项目使用什么样的概念,以及如何创建模型中定义的表?

1 个答案:

答案 0 :(得分:1)

根据您发布的代码,它绝对看起来像DB,因为我们将使用DbModelBuilder在Code First中的OnModelCreating中配置实体。 Code Code也没有任何edmx文件(我们的项目中没有任何文件)。