RHDWContext.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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 XzXdDw.App.Model;
  9. using System.Data.Entity.ModelConfiguration.Conventions;
  10. using System.Data.SQLite;
  11. using System.Data.Entity.Infrastructure.Interception;
  12. namespace XdDw.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. Console.WriteLine(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<CgRes> CgRes { get; set; }
  40. public DbSet<XDPosRes> XDPosRes { get; set; }
  41. public DbSet<SysSetings> SysSetings { get; set; }
  42. }
  43. }