我是一个新的初学者到实体框架。
我不能发现以下方法的createQuery()
为什么我不能找到这个方法?!
我是一个新的初学者到实体框架。
我不能发现以下方法的createQuery()
为什么我不能找到这个方法?!
由于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()
希望这可以帮助