You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

47 lines
1.5 KiB

10 years ago
  1. using Microsoft.AspNet.Identity.EntityFramework;
  2. using System;
  3. using System.Data.Entity;
  4. using System.Web;
  5. namespace Sevomin.Models
  6. {
  7. public class SevominDbContext : IdentityDbContext<User>
  8. {
  9. #region Singleton
  10. private static object locker = new object();
  11. public SevominDbContext() : base("SevominConnectionString") { }
  12. public static SevominDbContext Current
  13. {
  14. get
  15. {
  16. lock (locker)
  17. {
  18. if (HttpContext.Current.Items["DataContexMember"] != null &&
  19. HttpContext.Current.Items["DataContexMember"] is SevominDbContext)
  20. return (SevominDbContext)HttpContext.Current.Items["DataContexMember"];
  21. RenewMember();
  22. return (SevominDbContext)HttpContext.Current.Items["DataContexMember"];
  23. }
  24. }
  25. }
  26. public static void RenewMember()
  27. {
  28. SevominDbContext pe =
  29. new SevominDbContext();
  30. HttpContext.Current.Items["DataContexMember"] = pe;
  31. GC.Collect();
  32. }
  33. #endregion
  34. public DbSet<Parameter> Parameters { get; set; }
  35. public DbSet<ParameterValue> ParameterValues { get; set; }
  36. public DbSet<Job> Jobs { get; set; }
  37. public DbSet<DovominJob> DovominJobs { get; set; }
  38. public DbSet<Ad> Ads { get; set; }
  39. }
  40. }