RHDWContext.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data.Entity;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using SQLite.CodeFirst;
  8. using XdCxRhDW.App.Model;
  9. using System.Data.Entity.ModelConfiguration.Conventions;
  10. using System.Data.SQLite;
  11. using System.Data.Entity.Infrastructure.Interception;
  12. namespace XdCxRhDW.App.EFContext
  13. {
  14. internal class RHDWContext: DbContext
  15. {
  16. protected override void OnModelCreating(DbModelBuilder modelBuilder)
  17. {
  18. //modelBuilder.Entity<TaskInfo>().Map(m =>
  19. //{
  20. // m.MapInheritedProperties();
  21. // m.ToTable("TaskInfo");
  22. //});
  23. this.Database.Log = msg =>
  24. {
  25. Serilog.Log.Information(msg);
  26. };
  27. modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
  28. modelBuilder.Configurations.AddFromAssembly(typeof(RHDWContext).Assembly);
  29. var sqliteConnectionInitializer = new SqliteCreateDatabaseIfNotExists<RHDWContext>(modelBuilder);
  30. Database.SetInitializer(sqliteConnectionInitializer);
  31. DbInterception.Add(new SqliteInterceptor());//拦截器
  32. base.OnModelCreating(modelBuilder);
  33. }
  34. public RHDWContext() : base("DbCon") { } //配置使用的连接名
  35. public DbSet<XlInfo> XlInfos { set; get; }
  36. public DbSet<TaskInfo> TaskInfos { set; get; }
  37. public DbSet<TxInfo> TxInfos { get; set; }
  38. public DbSet<SatInfo> SatInfos { get; set; }
  39. public DbSet<TargetInfo> TargetInfos { get; set; }
  40. public DbSet<StationRes> StationRes { get; set; }
  41. public DbSet<CxRes> CxRes { get; set; }
  42. public DbSet<CgRes> CgRes { get; set; }
  43. public DbSet<PosRes> PosRes { get; set; }
  44. public DbSet<SysSetings> SysSetings { get; set; }
  45. }
  46. }