【问题标题】:Entity Framework code first migration and the Set<T> methodEntity Framework 代码第一次迁移和 Set<T> 方法
【发布时间】:2014-01-24 03:17:21
【问题描述】:
如果我正在使用实体框架迁移,并且我在上下文中手动调用 .Set<T>() 方法,这会触发上下文定义的更改吗?
我正在使用应用于我的上下文的 IUunitOfWork 接口,但我开始遇到迁移异常。
这是什么原因造成的?是因为上下文现在有更多暴露IDbSet<T>的方法,因此迁移认为它需要创建一个新表还是发生了什么?
【问题讨论】:
标签:
c#
entity-framework
entity-framework-migrations
【解决方案1】:
据我了解,方法不应触发脚手架,但任何 DbSet properties 都会触发。您可以扩展您的 DbContext 类以添加您的属性,并针对基类执行迁移;或者,您可以创建一个单独的 DbContext 仅用于迁移(如果您想维护多个离散上下文但您想对所有这些上下文使用迁移,这也很有用,因为您只能为项目中的一个上下文启用迁移。)