Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get All Except from SQL database using Entity Framework

I have a list of Products like this

var r = db.Products.Where(x => x.Sites
                                .Where(z => z.Key == associatedProducts.Key)
                                .Any()
                  ).ToList()

There is an entity called Products, I want to get all elements from products except those exist in associatedProducts.Products

How can i do that ?

like image 216
Mohamed Naguib Avatar asked Feb 04 '13 07:02

Mohamed Naguib


1 Answers

The following query works if associatedProducts list is fetched using EF in a previos query.

var temp = db.Products.ToList().Except(associatedProducts).ToList();

otherwise, if associatedProducts is a list which has not been fetched using EF (assuming Key is an integer);

List<int> tempIdList = associatedProducts.Select(q => q.Key ).ToList();
var temp = db.Products.Where(q => !tempIdList.Contains(q.Key));
like image 62
daryal Avatar answered Oct 10 '22 06:10

daryal