0
从我在网上看到的例子以及在编程实体框架CodeFirst书中,当您在两个类上都有一个集合时,EF会创建一个具有两个主键的映射表。 但是,我怎么能添加一些额外的领域到这张桌子?例如,我有以下实体和上下文Howto配置Code First Entity Framework多对多映射表?
public class User
{
[Key]
public Guid Id { get; set; }
public String Name { get; set; }
public virtual ICollection<Role> Roles { get; set; }
}
public class Role
{
[Key]
public Guid Id { get; set; }
public String Name { get; set; }
public virtual ICollection<User> Users { get; set; }
}
class MyContext : DbContext
{
public MyContext (string connString)
: base(connString)
{
}
public DbSet<User> Users { get; set; }
public DbSet<Role> Roles { get; set; }
}
访问此背景下将产生具有3个表创建数据库:用户,角色和的UserRole - 许多一对多映射表有两个GUID字段。
我想添加一些额外的字段到这个表 - 日期时间AssignmentDate。 如果我添加新的实体
public class UserRoles
{
[Key]
public Guid User_Id { get; set; }
[Key]
public Guid Role_Id { get; set; }
public DateTime AssignmentDate { get; set; }
}
class MyContext : DbContext
{
public MyContext (string connString)
: base(connString)
{
}
public DbSet<User> Users { get; set; }
public DbSet<Role> Roles { get; set; }
public DbSet<UserRoles> UserRoles { get; set; }
}
结果是在数据库中添加一个附加表。 但我想修改自动创建的表。 我该怎么做?
Thx。
Thx。它为我工作 – bairog