【发布时间】:2015-02-02 02:40:10
【问题描述】:
我正在维护一个 WPF 应用程序,它使用 Entity Framework Code First 和迁移(不是自动)。此应用程序中的一些 POCO 映射到视图(指向另一个数据库)。我猜用于执行此操作的方法类似于此答案中所做的:how to use views in code first entity framework
现在我希望其中一个 POCO(公司)指向一个表而不是视图。指向视图后,POCO 也发生了一些变化。
当我在 POCO 和 CompanyConfiguration 类(更改 ToTable())中进行更改后添加迁移时,迁移似乎认为视图是现有表并尝试重命名它。例如,Up() 方法的开始将如下所示:
RenameTable(name: "dbo.vCompany", newName: "Company");
AlterColumn("dbo.Company", "ParentAccount", c => c.String(maxLength: 160));
AlterColumn("dbo.Company", "Country", c => c.String(maxLength: 100));
但是,我不希望更改视图,我希望从头开始创建与 POCO 匹配的公司表。实现此目的的正确/好方法是什么?自己不写 Up() 和 Down() 方法可以吗?
目前该应用程序使用 Entity Framework 6.1,但当第一次创建此 Company/vCompany 映射时,我相信它是 4.3 版。
【问题讨论】:
标签: c# wpf entity-framework view code-first