RHDWContext.cs 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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 System.Data.Entity.ModelConfiguration.Conventions;
  9. using System.Data.Entity.Infrastructure.Interception;
  10. using XdCxRhDW.Repostory.Model;
  11. namespace XdCxRhDW.Repostory.EFContext
  12. {
  13. public class RHDWContext: DbContext
  14. {
  15. public RHDWContext() : base("DbCon") //配置使用的连接名
  16. {
  17. }
  18. protected override void OnModelCreating(DbModelBuilder modelBuilder)
  19. {
  20. this.Database.Log = msg =>
  21. {
  22. };
  23. modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
  24. modelBuilder.Configurations.AddFromAssembly(typeof(RHDWContext).Assembly);
  25. var sqliteConnectionInitializer = new SqliteCreateDatabaseIfNotExists<RHDWContext>(modelBuilder);
  26. Database.SetInitializer(sqliteConnectionInitializer);
  27. DbInterception.Add(new SqliteInterceptor());//拦截器
  28. base.OnModelCreating(modelBuilder);
  29. }
  30. public DbSet<TaskInfo> TaskInfos { set; get; }
  31. public DbSet<TxInfo> TxInfos { get; set; }
  32. public DbSet<SatInfo> SatInfos { get; set; }
  33. public DbSet<TargetInfo> TargetInfos { get; set; }
  34. //public DbSet<StationRes> StationRes { get; set; }
  35. //public DbSet<CxRes> CxRes { get; set; }
  36. //public DbSet<CgRes> CgRes { get; set; }
  37. //public DbSet<PosRes> PosRes { get; set; }
  38. public DbSet<SysSetings> SysSetings { get; set; }
  39. }
  40. public class RHDWPartContext : DbContext
  41. {
  42. /// <summary>
  43. /// 分区表构造函数
  44. /// </summary>
  45. /// <param name="dayString">日期字符,格式如20240305</param>
  46. public RHDWPartContext(string dayString)
  47. {
  48. base.Database.Connection.ConnectionString= $"Data Source=|DataDirectory|\\Part{dayString}.db";
  49. }
  50. /// <summary>
  51. /// 分区表构造函数
  52. /// </summary>
  53. /// <param name="sigTime">信号时刻</param>
  54. public RHDWPartContext(DateTime sigTime)
  55. :this(sigTime.ToString("yyyyMMdd"))
  56. {
  57. }
  58. protected override void OnModelCreating(DbModelBuilder modelBuilder)
  59. {
  60. this.Database.Log = msg =>
  61. {
  62. };
  63. modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
  64. modelBuilder.Configurations.AddFromAssembly(typeof(RHDWContext).Assembly);
  65. var sqliteConnectionInitializer = new SqliteCreateDatabaseIfNotExists<RHDWContext>(modelBuilder);
  66. Database.SetInitializer(sqliteConnectionInitializer);
  67. DbInterception.Add(new SqliteInterceptor());//拦截器
  68. base.OnModelCreating(modelBuilder);
  69. }
  70. public DbSet<XlInfo> XlInfos { set; get; }
  71. public DbSet<StationRes> StationRes { get; set; }
  72. public DbSet<CxRes> CxRes { get; set; }
  73. public DbSet<CgRes> CgRes { get; set; }
  74. public DbSet<PosRes> PosRes { get; set; }
  75. }
  76. }