54 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| post_title: 'Today I Learned #1'
 | |
| author: dreat
 | |
| layout: post
 | |
| published: true
 | |
| post_date: 2017-06-23 21:22:01
 | |
| tags: [archived, til, csharp]
 | |
| categories: [til, theory, old_blog]
 | |
| ---
 | |
| While using EntityFramework in my integration tests (which is a separate topic ;) ) I discovered quite interesting thing. I guess this may be obvious to some, but I learned Entity "the hard way" jumping into an app with Entity already in place and had to adapt - this was my first app with a database by the way.
 | |
| 
 | |
| So if you add entities to your context I'm used to adding all entities to context, so the code would look like
 | |
| 
 | |
| ```csharp
 | |
| using (var ctx = new Context())
 | |
| {
 | |
|     var first = new FirstEntity { .. };
 | |
|     var second = new SecondEntity { .. };
 | |
| 
 | |
|     ctx.FirstEntities.Add(first);
 | |
|     ctx.SecondEntities.Add(second);
 | |
|     ctx.SaveChanges();
 | |
| }
 | |
| ```
 | |
| 
 | |
| But if entities are related, you can safely do this
 | |
| 
 | |
| ```csharp
 | |
| using (var ctx = new Context())
 | |
| {
 | |
|     var first = new FirstEntity { .. };
 | |
|     var second = new SecondEntity { Relation = first };
 | |
| 
 | |
|     //this will also take care of the first one!
 | |
|     ctx.SecondEntities.Add(second); 
 | |
|     ctx.SaveChanges();
 | |
| }
 | |
| ```
 | |
| 
 | |
| 
 | |
| Or even this!
 | |
| 
 | |
| ```csharp
 | |
| using (var ctx = new Context())
 | |
| {
 | |
|     var second = new SecondEntity { Relation = new FirstEntity{ .. } };
 | |
| 
 | |
|     ctx.SecondEntities.Add(second);
 | |
|     ctx.SaveChanges();
 | |
| }
 | |
| ```
 | |
| 
 | |
| It's nice and saves some typing! :)
 | 
