myn*_*kow 5 entity-framework ef-code-first entity-framework-4.1
我有一个现有的数据库.目前我正在尝试使用实体框架代码将新的Entity对象映射到该DB.以下是具有朋友集合的User类.正如您所看到的,这是与同一个表的多对多关系.如何将此关系映射到具有"user_id"和"friend_id"列的表"user_friend".
public class User
{
private ICollection<User> _friends = new List<User>();
public ICollection<User> Friends { get{return _firends;} }
}
moduleBuilder.Entity<User>().HasMany????.ToTable("user_friend");
Run Code Online (Sandbox Code Playgroud)
您需要下拉到流畅的API:
public class User
{
public int UserId { get; set; }
public ICollection<User> Friends { get; set; }
}
public class Context : DbContext
{
public DbSet<User> Users { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<User>().HasMany(u => u.Friends).WithMany().Map(c =>
{
c.MapLeftKey(u=>u.UserID, "user_id");
c.MapRightKey(f=>f.FriendID, "friend_id");
c.ToTable("user_friend");
});
}
}
Run Code Online (Sandbox Code Playgroud)