I recently migrated an existing project to .net 4.5 and changed out what this project was using for data access (switching to Entity Framework).
For some reason any time I try to access any functions for a DbSet (Where
, First
, FirstOrDefault
, etc) it throws the error:
Error 53 'System.Data.Entity.DbSet1<MyProject.Data.Customer>' does
not contain a definition for 'FirstOrDefault' and no extension method
'FirstOrDefault' accepting a first argument of type
'System.Data.Entity.DbSet
1' could be found
(are you missing a using directive or an assembly reference?
This uses .net 4.5 and I read that these functions are no longer in System.Linq but are now stored in System.Core. I have added a reference to System.Core to the project but I am still getting the error. There is a using statement for System.Linq, but not for System.Core.
Can anyone see why I would be getting this error? Suggestions on how to fix?
UPDATE:
This is the line that throws the error:
VIModel Db = new VIModel();
Customer = Db.Customers.FirstOrDefault(c => c.CustomerId == CustomerId && c.IsPrimary);
and my DbContext:
public partial class VIModel : DbContext
{
........
public virtual DbSet<Customer> Customers { get; set; }
........
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…