Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Aug 6th, 2012  |  syntax: None  |  size: 1.30 KB  |  hits: 12  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. My class is creating entries in the database and I want it to stop
  2. public class BenefitsForm : IAnnualForm, IAuditable
  3. {
  4.     public BenefitsUser UserInfo { get; set; }
  5.     public CoverageLevel Medical { get; set; }
  6. }
  7.  
  8. public class MedicalPlan : IHealthPlan
  9. {
  10.     public int Id { get; set; }
  11.     public virtual IList<CoverageLevel> CoverageLevels { get; set; }
  12. }
  13.  
  14. public class CoverageLevel
  15. {
  16.     public int Id { get; set; }
  17.     public virtual MedicalPlan MedicalPlan { get; set; }
  18. }
  19.        
  20. BenefitsForm form = new BenefitsForm() { UserInfo = new BenefitsUser() };
  21. using(var repo = new CoverageLevelRepository())
  22. {
  23.     form.Medical = repo.Retrieve(new NumericKey(formId))); //this retrieves the coveragelevel with the id I want.
  24. }
  25. formRepository.Create(form); // this creates a duplicate med plan and 4 duplicate coverage levels.
  26. formRepository.SaveChanges();
  27.        
  28. BenefitsForm form = new BenefitsForm() { UserInfo = new BenefitsUser() };
  29. using(var repo = new Repository())
  30. {
  31.   form.Medical = repo.Retrieve(new NumericKey(formId))); //this retrieves the coveragelevel with the id I want.
  32.   repo.Create(form); // this creates a duplicate med plan and 4 duplicate coverage levels.
  33.   repo.SaveChanges();
  34. }
  35.        
  36. ObjectContext.SaveChanges(
  37.            System.Data.Objects.SaveOptions.DetectChangesBeforeSave
  38.                    );