Когда я запускаю эту строку кода
queryCompanies = (DbSet) queryCompanies.Include (path);
из этого метода:
public Company GetCompanyById(int companyId)
{
List<string> includePaths = new List<string>();
includePaths.Add("Addresses");
includePaths.Add("Users");
Company company = null;
using (Entities dbContext = new Entities())
{
var queryCompanies = dbContext.Companies;
if (includePaths != null)
{
foreach (string path in includePaths)
queryCompanies = (DbSet<Company>)queryCompanies.Include(path);
}
company = (from c in queryCompanies
where c.Id.Equals(companyId)
select c).FirstOrDefault<Company>();
}
return company;
}
Я получаю эту ошибку:
Невозможно привести объект типа 'System.Data.Entity.Infrastructure.DbQuery 1[ClassLibrary1.Company]' to type 'System.Data.Entity.DbSet
1 [ClassLibrary1.Company]'.
При компиляции у меня нет ошибок. В EF 4.0 этот код работает правильно, используя вместо DbSet <>, ObjectQuery <>.
Я новичок в EF 4.1, поэтому любое предложение будет полезным.
Спасибо.