Lokesh Darapureddy: Entity Framework Tutorial 1 - Single | SingleOrDefault | First | FirstOrDefault            
       
                                                               

Wednesday, 26 June 2024

                               
                                                                   

                            Entity Framework Tutorial 1 - Single | SingleOrDefault | First | FirstOrDefault                        

                                                               
                       
EF Core Method Comparison

EF Core Method Comparison

Method Description Throws Exception Returns Null Use Case
Single Returns the only element of a sequence, and throws an exception if there is not exactly one element. If no elements or more than one element are found. Never When exactly one element is expected in the result set, and any deviation is an error condition.
SingleOrDefault Returns the only element of a sequence, or a default value if the sequence is empty. Throws an exception if there is more than one element. If more than one element is found. If no elements are found. When zero or one element is expected. More than one element is considered an error condition.
First Returns the first element of a sequence. Throws an exception if no elements are found. If no elements are found. Never When at least one element is expected, and only the first element is needed.
FirstOrDefault Returns the first element of a sequence, or a default value if the sequence is empty. Never If no elements are found. When zero or more elements are expected, and only the first element is needed.
Examples:
Single:
var item = dbContext.Items.Single(i => i.Id == 1);
// Throws InvalidOperationException if no item or more than one item with Id == 1.
        
SingleOrDefault:
var item = dbContext.Items.SingleOrDefault(i => i.Id == 1);
// Throws InvalidOperationException if more than one item with Id == 1.
// Returns null if no item with Id == 1.
        
First:
var item = dbContext.Items.First(i => i.Id == 1);
// Throws InvalidOperationException if no item with Id == 1.
        
FirstOrDefault:
var item = dbContext.Items.FirstOrDefault(i => i.Id == 1);
// Returns null if no item with Id == 1.
        
                   
                                   
               
                                           

0 Comments:

                       
                                                                                                           
                       

                           

Post a Comment

                       

                       

Subscribe to Post Comments [Atom]

                                       

                        << Home