我刚刚开始使用实体框架5(代码优先迁移)。我认为我的问题可能只是交给了一个比我工作时间长一点的人(这是我们第一个尝试的项目)。
我有三张桌子。一个是对照表。课程要点如下:
public class Person
{
//person properties
public virtual List<Roles> Roles {get;set;}
}
public class Role
{
//Role properties
public virtual List<Person> Persons {get;set;}
}
在此处添加迁移会导致EntityFramework提出表名为的文件:
CreateTable(
"dbo.PersonRoles"...
我将此更改为:
CreateTable(
"dbo.PersonRolesXRef"...
奏效了。数据库更新了,一切都很好;然而,当我这样做时:
foreach(var role in Person.Roles() )
{
...
}
我得到一个内部异常,内容如下:
"Invalid object name 'dbo.PersonRoles' ..."
EF似乎没有意识到我更改了表的名称,尽管它在迁移文件中。我需要在某个地方添加注释吗?