MainDBContext.cs 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. namespace EVCB_OCPP.Domain
  2. {
  3. using EVCB_OCPP.Domain.Models.Database;
  4. using Microsoft.EntityFrameworkCore;
  5. using System;
  6. using System.Linq;
  7. using System.Threading;
  8. using System.Threading.Tasks;
  9. public class MainDBContext : DbContext
  10. {
  11. // 您的內容已設定為使用應用程式組態檔 (App.config 或 Web.config)
  12. // 中的 'MainDBContext' 連接字串。根據預設,這個連接字串的目標是
  13. // 您的 LocalDb 執行個體上的 'EVCB_OCPP.Domain.MainDBContext' 資料庫。
  14. //
  15. // 如果您的目標是其他資料庫和 (或) 提供者,請修改
  16. // 應用程式組態檔中的 'MainDBContext' 連接字串。
  17. public MainDBContext() : base()
  18. {
  19. //this.Configuration.LazyLoadingEnabled = false;
  20. //this.Database.CommandTimeout = 180;
  21. //this.Database.AutoTransactionBehavior = AutoTransactionBehavior.Never;
  22. }
  23. /// <summary>
  24. /// DB coneection set
  25. /// </summary>
  26. //public MainDBContext(string conn)
  27. //{
  28. // this.Database.Connection.ConnectionString = conn;
  29. // this.Configuration.LazyLoadingEnabled = false;
  30. // this.Database.CommandTimeout = 180;
  31. //}
  32. public MainDBContext(DbContextOptions<MainDBContext> options) : base(options)
  33. {
  34. //this.Database.AutoTransactionBehavior = AutoTransactionBehavior.Never;
  35. }
  36. // 針對您要包含在模型中的每種實體類型新增 DbSet。如需有關設定和使用
  37. // Code First 模型的詳細資訊,請參閱 http://go.microsoft.com/fwlink/?LinkId=390109。
  38. public virtual DbSet<OCMF> OCMF { get; set; }
  39. public virtual DbSet<ConnectorStatus> ConnectorStatus { get; set; }
  40. public virtual DbSet<Customer> Customer { get; set; }
  41. public virtual DbSet<Machine> Machine { get; set; }
  42. public virtual DbSet<MachineConfiguration> MachineConfigurations { get; set; }
  43. public virtual DbSet<MachineError> MachineError { get; set; }
  44. public virtual DbSet<MachineOperateRecord> MachineOperateRecord { get; set; }
  45. public virtual DbSet<MachineVersionFile> MachineVersionFile { get; set; }
  46. public virtual DbSet<ServerMessage> ServerMessage { get; set; }
  47. public virtual DbSet<TransactionRecord> TransactionRecord { get; set; }
  48. public virtual DbSet<UploadFile> UploadFile { get; set; }
  49. protected override void OnModelCreating(ModelBuilder modelBuilder)
  50. {
  51. modelBuilder.Entity<Machine>().Property(x => x.RatedPower).HasPrecision(6, 2);
  52. modelBuilder.Entity<Machine>().Property(x => x.Longitude).HasPrecision(10, 6);
  53. modelBuilder.Entity<Machine>().Property(x => x.Latitude).HasPrecision(10, 6);
  54. modelBuilder.Entity<ConnectorStatus>().Property(x => x.TotalEnergy).HasPrecision(10, 2);
  55. base.OnModelCreating(modelBuilder);
  56. }
  57. protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
  58. {
  59. //optionsBuilder.UseSqlServer("data source=172.1.2.187;initial catalog=StandardOCPP_Main;;persist security info=True;user id=sa;password=Ph0930118811;MultipleActiveResultSets=True;App=EntityFramework");
  60. base.OnConfiguring(optionsBuilder);
  61. }
  62. }
  63. }