我刚刚开始使用 Entity Framework 5(代码优先迁移)。我认为我的问题可能只是给一个比我工作时间长一点的人(这是我们第一个尝试的项目)。
我有 3 张桌子。一种是交叉引用表。类的要点如下:
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 不知道我更改了表的名称,即使它在迁移文件中。我需要在某处添加注释吗?