20230201_145_upperpc/InSituLaboratory.ORM/NoimptyDbContext.cs

70 lines
2.8 KiB
C#
Raw Normal View History

2024-03-11 05:12:02 +00:00
using InSituLaboratory.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using System.Globalization;
namespace InSituLaboratory.ORM
{
public class NoimptyDbContext : DbContext
{
public NoimptyDbContext(DbContextOptions<NoimptyDbContext> options) : base(options)
{ }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
if (!optionsBuilder.IsConfigured)
2024-03-22 07:12:57 +00:00
optionsBuilder.UseSqlite("Data Source=data.db ");
2024-03-11 05:12:02 +00:00
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
modelBuilder.Entity<RoleMenu>()
.HasKey(pk => new { pk.RoleId, pk.MenuId });
modelBuilder.Entity<RoleUser>()
.HasKey(pk => new { pk.RoleId, pk.UserId });
//<2F><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>һ<EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>ϵ <20><>ɫ<EFBFBD><C9AB><EFBFBD>û<EFBFBD>
modelBuilder.Entity<RoleUser>()
.HasOne(u => u.SysRole)
.WithMany(r => r.Users)
.OnDelete(DeleteBehavior.Cascade);
modelBuilder.Entity<RoleMenu>()
.HasOne(u => u.SysRole)
.WithMany(r => r.Menus)
.OnDelete(DeleteBehavior.Cascade);
//<2F>û<EFBFBD><C3BB>Խ<EFBFBD>ɫ
modelBuilder.Entity<RoleUser>()
.HasOne(u => u.User)
.WithMany(r => r.Roles);
// ҳ<><D2B3>-<2D><><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>ת<EFBFBD><D7AA>
// <20><><EFBFBD>ݿ<EFBFBD>-<2D><>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD>ת<EFBFBD><D7AA>
ValueConverter iconValueConverter =
new ValueConverter<string, string>(
p2d => string.IsNullOrEmpty(p2d) ? null : ((int)p2d.ToArray()[0]).ToString("x"),
d2p => d2p == null ? "" : ((char)int.Parse(d2p, NumberStyles.HexNumber)).ToString()
);
modelBuilder.Entity<SysMenu>()
.Property(m => m.MenuIcon)
.HasConversion(iconValueConverter);
}
public virtual DbSet<SysUser> SysUser { get; set; }
public virtual DbSet<SysMenu> SysMenu { get; set; }
public virtual DbSet<SysRole> SysRole { get; set; }
public virtual DbSet<RoleMenu> RoleMenu { get; set; }
public virtual DbSet<RoleUser> RoleUser { get; set; }
2024-03-13 00:46:26 +00:00
public virtual DbSet<cavityoperationstatus> cavityoperationstatus { get; set; }
public virtual DbSet<cavityenvironment> cavityenvironment { get; set; }
public virtual DbSet<cavityoutputfeedback> cavityoutputfeedback { get; set; }
public virtual DbSet<cavityoutputstatus> cavityoutputstatus { get; set; }
public virtual DbSet<cavityoutputcurrent> cavityoutputcurrent { get; set; }
public virtual DbSet<cavityenergyconversion> cavityenergyconversion { get; set; }
public virtual DbSet<cavitybatterylevel> cavitybatterylevel { get; set; }
2024-03-11 05:12:02 +00:00
}
}