119 lines
3.7 KiB
C#
119 lines
3.7 KiB
C#
|
|
using CloudBuilder.Core.DependencyInjection.EFCore;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using System.Reflection;
|
|
|
|
namespace CloudBuilder.Master.Entity
|
|
{
|
|
public class CloudBuilderMasterRegistEntity : IMasterRegistEntityType<ModelBuilder>
|
|
{
|
|
///<summary>
|
|
///注入模块内的所有实体类
|
|
///</summary>
|
|
///<param name="builder"></param>
|
|
public void RegistEntity(ModelBuilder builder)
|
|
{
|
|
string _assemblyName = Assembly.GetExecutingAssembly().GetName().Name;
|
|
//注入所有Entity实体类
|
|
AddEntityType(builder, _assemblyName);
|
|
//如果Entity实体类不是单一主键,要单独重写注入
|
|
RegistKeys(builder);
|
|
}
|
|
|
|
public void AddEntityType(ModelBuilder builder, string _assemblyName)
|
|
{
|
|
RegistEntityHelper.AddMasterEntityType(builder, _assemblyName);
|
|
}
|
|
|
|
///<summary>
|
|
///如果存在多个主键的,要在RegistKeys方法注入
|
|
///builder.Entity<xxxxxxEntity>().HasKey(c => new { c.TableName, c.FieldName });
|
|
///builder.Entity<xxxxxxEntity>(eb => { eb.HasNoKey(); });
|
|
///</summary>
|
|
///<param name="builder"></param>
|
|
public void RegistKeys(ModelBuilder builder)
|
|
{
|
|
//***BEGIN***
|
|
|
|
builder.Entity<FamilyTreeChildrenMapEntity>().HasKey(c => new {c.TreeId,c.PersonId,c.ChildrenId});
|
|
builder.Entity<FamilyTreeSpouseMapEntity>().HasKey(c => new {c.TreeId,c.PersonId,c.SpouseId});
|
|
|
|
|
|
|
|
|
|
|
|
builder.Entity<FamilyTreeChildrenMapViewEntity>(eb => { eb.HasNoKey(); });
|
|
|
|
builder.Entity<FamilyTreeSpouseMapViewEntity>(eb => { eb.HasNoKey(); });
|
|
|
|
builder.Entity<FamilyTreeViewEntity>(eb => { eb.HasNoKey(); });
|
|
|
|
builder.Entity<FamilyTreeChildrenMapViewEntity>(eb => { eb.HasNoKey(); });
|
|
|
|
builder.Entity<FamilyTreeSpouseMapViewEntity>(eb => { eb.HasNoKey(); });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
builder.Entity<DmsFileUploadDeleteLogViewEntity>(eb => { eb.HasNoKey(); });
|
|
|
|
builder.Entity<DmsFileUploadViewEntity>(eb => { eb.HasNoKey(); });
|
|
|
|
|
|
|
|
builder.Entity<DmsFolderMapEntity>().HasKey(c => new {c.FolderNameParent,c.FolderNameSon});
|
|
|
|
builder.Entity<DmsFolderMapDeleteLogEntity>().HasKey(c => new {c.FolderNameParent,c.FolderNameSon});
|
|
|
|
builder.Entity<FamilyFolderFavoriteEntity>().HasKey(c => new {c.FolderName,c.UserName});
|
|
|
|
|
|
|
|
builder.Entity<FamilyGroupManagerEntity>().HasKey(c => new {c.FamilyName,c.UserName});
|
|
|
|
builder.Entity<FamilyGroupPermissionEntity>().HasKey(c => new {c.FamilyName,c.FolderName,c.UserName});
|
|
|
|
builder.Entity<FamilyDmsFileViewEntity>(eb => { eb.HasNoKey(); });
|
|
|
|
builder.Entity<FamilyGroupManagerUserViewEntity>(eb => { eb.HasNoKey(); });
|
|
|
|
builder.Entity<FamilyGroupPermissionUserFolderViewEntity>(eb => { eb.HasNoKey(); });
|
|
|
|
builder.Entity<FamilyFolderFavoriteViewEntity>(eb => { eb.HasNoKey(); });
|
|
|
|
|
|
|
|
|
|
|
|
|
|
builder.Entity<PublishAudioFamilyGroupEntity>().HasKey(c => new {c.FamilyName,c.PublishName});
|
|
|
|
|
|
builder.Entity<PublishPhotoFamilyGroupEntity>().HasKey(c => new {c.FamilyName,c.PublishName});
|
|
|
|
|
|
builder.Entity<PublishVideoFamilyGroupEntity>().HasKey(c => new {c.FamilyName,c.PublishName});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
builder.Entity<DmsFileUploadDeleteLogViewEntity>(eb => { eb.HasNoKey(); });
|
|
|
|
|
|
builder.Entity<DmsFileUploadDeleteLogViewEntity>(eb => { eb.HasNoKey(); });
|
|
|
|
|
|
|
|
builder.Entity<FamilyTreePermissionEntity>().HasKey(c => new {c.PersonId,c.TreeId,c.UserName});
|
|
|
|
builder.Entity<FamilyTreePermissionUserViewEntity>(eb => { eb.HasNoKey(); });
|
|
//***END***
|
|
}
|
|
}
|
|
}
|
|
|