Advertisement
Guest User

Untitled

a guest
May 5th, 2015
333
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.68 KB | None | 0 0
  1. // Post class includes
  2.  public Post()
  3.         {
  4.             Themes = new List<Theme>();
  5.         }
  6.         public virtual ICollection<Theme> Themes { get; set; }
  7. // Themes class
  8.  
  9. public virtual ICollection<Post> Posts { get; set; }
  10.  
  11. //A post view model brings in the information on themes to my business layer.  
  12. //In my business layer.  
  13.  Post post = new Post
  14.             {
  15.                 Header = postViewModel.Header,
  16.                 CreatedDate = DateTime.Now,
  17.             };
  18.      foreach (var themeModel in postViewModel.ThemeModels)
  19.             {
  20.                 if (themeModel.isSelected)
  21.                 {
  22.                     var theme = new Theme{ Id = themeModel.ThemeId  };
  23.                     RepositoryFactory.AttachEntity(theme);
  24.                     post.Themes.Add(theme);
  25.                 }
  26.             }
  27.  RepositoryFactory.SaveEntity(post);
  28. // In my data layer
  29.         public void AttachEntity<TEntity>(TEntity entity) where TEntity : Entity
  30.         {
  31.             using (var context = new MyContext())
  32.             {
  33.                 context.Set<TEntity>().Attach(entity);
  34. // I have tried putting context.SaveChanges(); here too but does not seem to matter  
  35.             }
  36.         }
  37. public void SaveEntity<TEntity>(TEntity entity) where TEntity : Entity
  38.         {
  39.             using (var context = new MyContext())
  40.             {
  41.                 if (entity.Id == 0)
  42.                 {
  43.                     context.Set<TEntity>().Add(entity);
  44.                 }
  45.                 else
  46.                 {
  47.                     context.Entry(entity).State = EntityState.Modified;
  48.                 }
  49.  
  50.                 context.SaveChanges();
  51.             }
  52.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement