Asp.net mvc 如何设置链接表
更新帖子 我正在尝试使用modelBuilder为我创建链接表。我能够在没有错误的情况下进行迁移。在sql数据库中创建链接表。但是,当我查询客户的作业时,ChangeOrders仍然返回空值。我需要查询什么?我的项目没有要引用的链接表类,所以我迷路了 原职: 我正在尝试为我的多对多关系设置一个链接表。每个作业都可以有多个客户我创建了一个JobCustomer来执行此操作,但返回的唯一数据是链接表上的类IdAsp.net mvc 如何设置链接表,asp.net-mvc,many-to-many,entity-framework-6,Asp.net Mvc,Many To Many,Entity Framework 6,更新帖子 我正在尝试使用modelBuilder为我创建链接表。我能够在没有错误的情况下进行迁移。在sql数据库中创建链接表。但是,当我查询客户的作业时,ChangeOrders仍然返回空值。我需要查询什么?我的项目没有要引用的链接表类,所以我迷路了 原职: 我正在尝试为我的多对多关系设置一个链接表。每个作业都可以有多个客户我创建了一个JobCustomer来执行此操作,但返回的唯一数据是链接表上的类Id 看看这是否有帮助。那么我会先上职业课吗?然后是链接表?我需要一个单独的链接表,用于JobC
看看这是否有帮助。那么我会先上职业课吗?然后是链接表?我需要一个单独的链接表,用于JobCustomer、JobType等。实际查询数据的代码在哪里?k,我用新信息更改了我原来的帖子。
public class ApplicationUser : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
public bool? Hidden { get; set; }
public string UserEmail { get; set; }
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
{
this.Configuration.LazyLoadingEnabled = false;
this.Configuration.ProxyCreationEnabled = false;
}
public DbSet<Job> Jobs { get; set; }
public DbSet<Employee> Employees { get; set; }
public DbSet<Customer> Customers { get; set; }
public DbSet<ChangeOrder> ChangeOrders { get; set; }
public DbSet<JobType> JobTypes { get; set; }
public DbSet<GeoArea> GeoAreas { get; set; }
public DbSet<JobClass> JobClasses { get; set; }
protected override void OnModelCreating
(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<Job>()
.HasMany(j => j.Customers)
.WithMany(c => c.Jobs)
.Map(m =>
{
m.ToTable("JobCustomer");
m.MapLeftKey("JobId");
m.MapRightKey("CustomerId");
});
modelBuilder.Entity<Job>()
.HasMany(j => j.ChangeOrders)
.WithMany(c => c.Jobs)
.Map(m =>
{
m.ToTable("JobChangeOrder");
m.MapLeftKey("JobId");
m.MapRightKey("ChangeOrderId");
});
modelBuilder.Entity<Job>()
.HasMany(j => j.GeoAreas)
.WithMany(c => c.Jobs)
.Map(m =>
{
m.ToTable("JobGeoArea");
m.MapLeftKey("JobId");
m.MapRightKey("GeoAreaId");
});
modelBuilder.Entity<Job>()
.HasMany(j => j.JobTypes)
.WithMany(c => c.Jobs)
.Map(m =>
{
m.ToTable("JobJobType");
m.MapLeftKey("JobId");
m.MapRightKey("JobTypeId");
});
modelBuilder.Entity<Job>()
.HasMany(j => j.JobClasses)
.WithMany(c => c.Jobs)
.Map(m =>
{
m.ToTable("JobJobClass");
m.MapLeftKey("JobId");
m.MapRightKey("JobClassId");
});
}
}
public class Job
{
public int JobId { get; set; }
public int JobNumber { get; set; }
public string JobName { get; set; }
public string JobDescription { get; set; }
public ICollection<Customer> Customers { get; set; }
public ICollection<ChangeOrder> ChangeOrders { get; set; }
public ICollection<GeoArea> GeoAreas { get; set; }
public ICollection<JobClass> JobClasses { get; set; }
public ICollection<JobType> JobTypes { get; set; }
}
public List<Job> GetJobs()
{
List<Job> jobs = new List<Job>();
jobs = db.Jobs
.ToList();
return jobs;
}