MainDBContext.cs 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. namespace EVCB_OCPP.Domain
  2. {
  3. using EVCB_OCPP.Domain.Models.Database;
  4. using System;
  5. using System.Data.Entity;
  6. using System.Linq;
  7. public class MainDBContext : DbContext
  8. {
  9. // 您的內容已設定為使用應用程式組態檔 (App.config 或 Web.config)
  10. // 中的 'MainDBContext' 連接字串。根據預設,這個連接字串的目標是
  11. // 您的 LocalDb 執行個體上的 'EVCB_OCPP.Domain.MainDBContext' 資料庫。
  12. //
  13. // 如果您的目標是其他資料庫和 (或) 提供者,請修改
  14. // 應用程式組態檔中的 'MainDBContext' 連接字串。
  15. public MainDBContext()
  16. : base("name=MainDBContext")
  17. {
  18. this.Configuration.LazyLoadingEnabled = false;
  19. this.Database.CommandTimeout = 180;
  20. }
  21. /// <summary>
  22. /// DB coneection set
  23. /// </summary>
  24. public MainDBContext(string conn)
  25. {
  26. this.Database.Connection.ConnectionString = conn;
  27. this.Configuration.LazyLoadingEnabled = false;
  28. this.Database.CommandTimeout = 180;
  29. }
  30. // 針對您要包含在模型中的每種實體類型新增 DbSet。如需有關設定和使用
  31. // Code First 模型的詳細資訊,請參閱 http://go.microsoft.com/fwlink/?LinkId=390109。
  32. public virtual DbSet<ConnectorStatus> ConnectorStatus { get; set; }
  33. public virtual DbSet<Customer> Customer { get; set; }
  34. public virtual DbSet<CustomerMachineComponent> CustomerMachineComponent { get; set; }
  35. public virtual DbSet<Machine> Machine { get; set; }
  36. public virtual DbSet<MachineComponent> MachineComponent { get; set; }
  37. public virtual DbSet<MachineConfiguration> MachineConfigure { get; set; }
  38. public virtual DbSet<MachineError> MachineError { get; set; }
  39. public virtual DbSet<MachineModel> MachineModel { get; set; }
  40. public virtual DbSet<MachineOperateRecord> MachineOperateRecord { get; set; }
  41. public virtual DbSet<MachineVersion> MachineVersion { get; set; }
  42. public virtual DbSet<MachinePart> MachinePart { get; set; }
  43. public virtual DbSet<MachineVersionFile> MachineVersionFile { get; set; }
  44. public virtual DbSet<PublishVersion> PublishVersion { get; set; }
  45. public virtual DbSet<PublishVersionFile> PublishVersionFile { 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(DbModelBuilder modelBuilder)
  50. {
  51. modelBuilder.Entity<MachineVersion>()
  52. .HasRequired(a => a.Machine)
  53. .WithMany()
  54. .HasForeignKey(a => a.MachineId);
  55. modelBuilder.Entity<Machine>()
  56. .HasOptional(m => m.FW_MachineVersion)
  57. .WithMany()
  58. .HasForeignKey(m => m.FW_AssignedMachineVersionId);
  59. modelBuilder.Entity<PublishVersion>()
  60. .HasRequired(a => a.CustomerMachineComponent)
  61. .WithMany()
  62. .HasForeignKey(a => a.CustomerMachineComponentId)
  63. .WillCascadeOnDelete(false);
  64. base.OnModelCreating(modelBuilder);
  65. }
  66. }
  67. }