C# EF6-实体更改时视图映射失败

C# EF6-实体更改时视图映射失败,c#,entity-framework,views,entity-framework-6,entity-framework-migrations,C#,Entity Framework,Views,Entity Framework 6,Entity Framework Migrations,我目前正在EF6代码优先数据库中生成一个视图。我是通过seed方法来实现的,在这里我删除实体的表,然后通过SQL创建视图 我遇到的问题是,如果视图中的一列发生了更改,并且我在模型中对其进行了更改,EF6将尝试更改在更新数据库时不再存在的表 我要找的是解决这个问题的方法。我的想法是我可以用两种方法中的一种来解决这个问题 首先,使用一些迁移前方法,我可以删除视图并重新创建表,以便在EF6尝试这样做时,ALTER可以看到它。我不确定这个功能是否存在,所以有一个问题 第二,告诉EF6忽略我的视图实体。这

我目前正在EF6代码优先数据库中生成一个视图。我是通过seed方法来实现的,在这里我删除实体的表,然后通过SQL创建视图

我遇到的问题是,如果视图中的一列发生了更改,并且我在模型中对其进行了更改,EF6将尝试更改在更新数据库时不再存在的表

我要找的是解决这个问题的方法。我的想法是我可以用两种方法中的一种来解决这个问题

首先,使用一些迁移前方法,我可以删除视图并重新创建表,以便在EF6尝试这样做时,ALTER可以看到它。我不确定这个功能是否存在,所以有一个问题

第二,告诉EF6忽略我的视图实体。这对于创建来说很好,但是当EF6尝试将导航属性映射到我的视图时,它就崩溃了。 这是我得到的错误:

The navigation property 'Children' is not a declared property on type 'MyView'. 
Verify that it has not been explicitly excluded from the model and that it is a valid navigation property.
最好,我不必放弃使用DataAnnotation来进行EF6配置。如果我们需要使用fluentapi,就需要重新编写大量的代码库


非常感谢您的任何建议

为什么不在migration目录下的migration.cs中删除相应的up和down方法呢?@tschmit007我们实现的EF6实现使用自动迁移。虽然我可以在自定义迁移中最初创建视图,但如果视图的列发生更改,第二次自定义迁移将不会运行,因为中间的自动迁移将尝试直接更改表。如果自动迁移是必需的,我无法想象如何实现您的目标。