Entity framework 代码优先和现有数据库混合

Entity framework 代码优先和现有数据库混合,entity-framework,ef-code-first,ef-database-first,Entity Framework,Ef Code First,Ef Database First,我不知道是否可以这样做,但我想听听其他的意见 我有一个现有的数据库。我将只使用一定数量的表和这些表的某些列。为此,我首先创建了类,并在这些类和数据库表之间创建了特定的映射。然后实现了DbContext。。。到目前为止,我没有任何问题 在项目的第二部分中,有些类可能不存在于数据库中。因此,当我运行项目时,如果它们不存在,我希望实现它们,就像普通的codefirst实现一样,但是我不应该接触数据库中的其他表 有什么想法吗 最好的 在dbcontext中使用Ignore属性,覆盖modelbuilde

我不知道是否可以这样做,但我想听听其他的意见

我有一个现有的数据库。我将只使用一定数量的表和这些表的某些列。为此,我首先创建了类,并在这些类和数据库表之间创建了特定的映射。然后实现了DbContext。。。到目前为止,我没有任何问题

在项目的第二部分中,有些类可能不存在于数据库中。因此,当我运行项目时,如果它们不存在,我希望实现它们,就像普通的codefirst实现一样,但是我不应该接触数据库中的其他表

有什么想法吗

最好的

在dbcontext中使用Ignore属性,覆盖modelbuilder属性

modelBuilder.Entity<YourClass>().Ignore(); 
modelBuilder.Entity().Ignore();
如果该类未映射到数据库中,则这不会妨碍您的数据库。
希望这能有所帮助。

感谢您的回复。然而,Ignore()本身所做的还不够。我需要这样的东西:if(thisTableDoesNotExist)then CreateTable“if(thisTableDoesNotExist)then CreateTable”您可以通过迁移轻松实现。有关详细信息,请参阅此页,我希望这对您有所帮助。;)
modelBuilder.Entity<YourClass>().Ignore();