yılında Tabloları katılın. Steve Sanderson'ın spor mağazası için 'Pro ASP.NET MVC 3 Framework' adlı kitabındaki eğiticiyi takip ediyorum ve bunu üyelikten üretilen tablolara uygulıyorum.Haritalama Bir asp.mvc 3 web sitesine giriş asp.net üyelik tabloları bağlamak çalışıyorum İdare Framework
Yani görünen bir kullanıcı sınıfı var gibi:
namespace Domain.Entities
{
public class User
{
public Guid UserId { get; set; }
public string UserName { get; set; }
public DateTime LastActivityDate;
public virtual ICollection<Role> Roles { get; set; }
}
public class Role
{
public Guid RoleId { get; set; }
public string RoleName { get; set; }
}
}
ve şöyle bir bağlam sınıfında: Bunun bir arası katılmak arıyor varsayalım çünkü bir hata alıyorum
public class EFDbContext : DbContext
{
public DbSet<User> Users { get; set; }
public DbSet<Role> Roles { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<User>().ToTable("aspnet_users");
modelBuilder.Entity<Role>().ToTable("aspnet_roles");
}
}
ama Bu iki tablo aslında çok sayıda bağlantıdan kaçınmak için arasında bir birleştirme tablosu (aspnet_UsersInRoles
) olduğunda, Kullanıcıdan Rol modelini denediğimde ve başvuruda bulunduğumda:
{ "geçersiz sütun adı 'User_UserId'. \ R \ nYanlış sütun adı 'User_UserId'. \ R \ nYanlış sütun adı 'User_UserId.'"}
eşlemek için bir yol yoktur tablo, varlık çerçevesini kullanarak birleştirme tablosunu kullanarak birlikte mi? Yeni bir ADO.NET varlık veri modeli eklemek ve görsel stüdyonun veritabanını tersine çevirmesine izin vermek daha mı iyi? Ayrıca Role
sınıfa Users
özellik eklemek gerekir:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<User>().ToTable("aspnet_users");
modelBuilder.Entity<Role>().ToTable("aspnet_roles");
modelBuilder.Entity<User>()
.HasMany(u => u.Roles).WithMany(r => r.Users)
.Map(m =>
{
m.ToTable("aspnet_UsersInRoles");
m.MapLeftKey("UserId");
m.MapRightKey("RoleId");
});
}
Edit şöyle
bulunmuştur değiştirilmelidir: http://vincentlauzon.wordpress.com/2011/04/21/entity-framework-4- 1-by-by-ef-sorgu-haritalama-8/başkasının benzer ihtiyaçları varsa – GrahamJRoy