2022-09-08 08:04:32 -07:00

95 lines
3.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration.Conventions;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Church.Net.Entity;
using Microsoft.AspNet.Identity.EntityFramework;
namespace Church.Net.DAL.EF
{
//public class ChurchNetContext:DbContext
//{
// public ChurchNetContext():base("entityFramework")
// {
// }
// public ChurchNetContext(string connString):base(connString)
// {
// }
// //public DbSet<PastoralDomain> PastoralDomains { get; set; }
// //public DbSet<FamilyMember> FamilyMembers { get; set; }
// //public DbSet<Career> Careers { get; set; }
// public DbSet<NewVisitor> NewVisitors { get; set; }
// //public DbSet<Religion> Religions { get; set; }
// protected override void OnModelCreating(DbModelBuilder modelBuilder)
// {
// modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
// }
//}
public class ChurchNetContext : IdentityDbContext<FamilyMember>
{
public ChurchNetContext()
: base("entityFramework")
{
}
public ChurchNetContext(string connString) : base(connString)
{
}
//public DbSet<PastoralDomain> PastoralDomains { get; set; }
//public DbSet<FamilyMember> FamilyMembers { get; set; }
//public DbSet<Career> Careers { get; set; }
public static ChurchNetContext Create()
{
return new ChurchNetContext();
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<IdentityUserLogin>().HasKey<string>(l => l.UserId);
modelBuilder.Entity<IdentityRole>().HasKey<string>(r => r.Id);
modelBuilder.Entity<IdentityUserRole>().HasKey(r => new { r.RoleId, r.UserId });
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
modelBuilder.Entity<PastoralDomainMembers>()
.HasKey(cp => new { cp.FamilyMemberId, cp.PastoralDomainId });
modelBuilder.Entity<FamilyMember>()
.HasMany(c => c.PastoralDomains)
.WithRequired()
.HasForeignKey(cp => cp.FamilyMemberId);
modelBuilder.Entity<PastoralDomain>()
.HasMany(p => p.Members)
.WithRequired()
.HasForeignKey(cp => cp.PastoralDomainId);
}
//public System.Data.Entity.DbSet<Church.Net.Entity.FamilyMember> FamilyMembers { get; set; }
public DbSet<NewVisitor> NewVisitors { get; set; }
public DbSet<Religion> Religions { get; set; }
public DbSet<PastoralDomainMembers> PastoralDomainMembers { get; set; }
public System.Data.Entity.DbSet<Church.Net.Entity.Career> Careers { get; set; }
public System.Data.Entity.DbSet<Church.Net.Entity.PastoralDomain> PastoralDomains { get; set; }
public DbSet<WhoIsSpy> WhoIsSpy { get; set; }
public DbSet<Vocabulary> Vocabulary { get; set; }
public DbSet<HappinessGroup> HappinessGroups { get; set; }
public DbSet<HappinessBEST> HappinessBESTs { get; set; }
public DbSet<HappinessWeek> HappinessWeeks { get; set; }
}
}