Поскольку ESQL считался расширенным вариантом использования, нет простого API от DbContext. Вы можете получить доступ к ObjectContext, который поддерживает ваш DbContext, чтобы сделать то, что вы хотите:
Как было предложено, вы также можете добавить метод (или свойство) ObjectContext в свой класс контекста:
public class BloggingContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
public DbSet<Post> Posts { get; set; }
public ObjectContext ObjectContext()
{
return (this as IObjectContextAdapter).ObjectContext;
}
}
Ответ 2
Прежде всего, это не собственное решение для запросов в EF. Если вы знаете, что вам действительно нужны альтернативные методы, вернитесь к CreateQuery()
Но вы можете получить результат, который вы хотите, с кастом на System.Data.Entity.Core.Objects.IObjectContextAdapter следующим образом:
(context as IObjectContextAdapter).ObjectContext.CreateQuery
Кроме того, вы можете запускать команды sql с помощью
context.Database.SqlQuery<>() и context.Database.ExecuteSqlCommand()