views:

94

answers:

1

LINQ to Entities does not recognize the method 'Boolean Contains(Int32)' method, and this method cannot be translated into a store expression.

    var warranty_yes = from i in devicesEntities.device
    where i.WarrantyDate >= DateTime.Now
    select i.Id;

    var warranty_yes_list = warranty_yes.ToList();

    var view_query = from i in devprim_by_status
    where warranty_yes_list.Contains(i.Id)
    select i;

which is a solution for this problem?

+1  A: 

You can do it in a single query:

var view_query =
    from i in devprim_by_status 
    join d in deviceEntities.device on i.Id equals d.Id
    where d.WarrantyDate >= DateTime.Now
    select i;
Thomas Levesque