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