Не удается найти метод CreateQuery()
Я новый новичок в Entity framework .
и я не могу найти следующий метод CreateQuery()

Почему я не могу найти этот метод ?!!
2 ответов
поскольку ESQL считался расширенным вариантом использования, нет простого API от DbContext. Вы можете получить доступ к ObjectContext, который поддерживает ваш DbContext делать то, что вы хотите:
((IObjectContextAdapter)context).ObjectContext.CreateQuery<Person>("esql..")
связанный: http://thedatafarm.com/blog/data-access/accessing-objectcontext-features-from-ef-4-1-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;
}
}
прежде всего, это не собственное решение для запроса в EF. Пожалуйста, изучите как можно больше LINQ, а затем, если вы знаете, что вам действительно нужны альтернативные методы, вернитесь к CreateQuery ()
но вы можете получить результат, который хотите, с помощью кастинга в System.Data.Entity.Core.Objects.IObjectContextAdapter такой:
(context as IObjectContextAdapter).ObjectContext.CreateQuery
кроме того, вы можете запускать команды SQL с:
context.Database.SqlQuery<>() и context.Database.ExecuteSqlCommand()
надеюсь, что это помогает