Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Post class includes
- public Post()
- {
- Themes = new List<Theme>();
- }
- public virtual ICollection<Theme> Themes { get; set; }
- // Themes class
- public virtual ICollection<Post> Posts { get; set; }
- //A post view model brings in the information on themes to my business layer.
- //In my business layer.
- Post post = new Post
- {
- Header = postViewModel.Header,
- CreatedDate = DateTime.Now,
- };
- foreach (var themeModel in postViewModel.ThemeModels)
- {
- if (themeModel.isSelected)
- {
- var theme = new Theme{ Id = themeModel.ThemeId };
- RepositoryFactory.AttachEntity(theme);
- post.Themes.Add(theme);
- }
- }
- RepositoryFactory.SaveEntity(post);
- // In my data layer
- public void AttachEntity<TEntity>(TEntity entity) where TEntity : Entity
- {
- using (var context = new MyContext())
- {
- context.Set<TEntity>().Attach(entity);
- // I have tried putting context.SaveChanges(); here too but does not seem to matter
- }
- }
- public void SaveEntity<TEntity>(TEntity entity) where TEntity : Entity
- {
- using (var context = new MyContext())
- {
- if (entity.Id == 0)
- {
- context.Set<TEntity>().Add(entity);
- }
- else
- {
- context.Entry(entity).State = EntityState.Modified;
- }
- context.SaveChanges();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement