Any*_*are 15 c# asp.net entity-framework createquery visual-studio-2012
我是实体框架的新手.
我找不到以下方法CreateQuery()

为什么我找不到这种方法?!!
man*_*lds 20
由于ESQL被认为是一个高级用例,因此没有直接的API DbContext.你可以访问它ObjectContext来支持你DbContext做你想做的事情:
((IObjectContextAdapter)context).ObjectContext.CreateQuery<Person>("esql..")
Run Code Online (Sandbox Code Playgroud)
相关: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;
}
}
Run Code Online (Sandbox Code Playgroud)
首先,这不是EF中查询的本机解决方案.请尽可能多地学习LINQ然后,如果你知道你真的需要替代方法,那就回到CreateQuery()
但是,您可以通过强制转换获得所需的结果System.Data.Entity.Core.Objects.IObjectContextAdapter:
(context as IObjectContextAdapter).ObjectContext.CreateQuery
此外,您可以使用以下命令运行sql命令:
context.Database.SqlQuery<>() 和 context.Database.ExecuteSqlCommand()
希望这可以帮助
| 归档时间: |
|
| 查看次数: |
7616 次 |
| 最近记录: |