15
A
回答
19
由於ESQL被認爲是一種高級用例,因此從DbContext
沒有簡單的API。您可以訪問備份您的DbContext
的ObjectContext
做你想做什麼:
((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;
}
}
7
首先,這不是在EF中查詢的原生解決方案。請學習儘可能多LINQ,你可以,然後,如果你知道你真正需要的替代方法,回落到的createQuery()
但是,你可以得到你想要鑄造System.Data.Entity.Core.Objects.IObjectContextAdapter
這樣的結果:
(context as IObjectContextAdapter).ObjectContext.CreateQuery
此外,您還可以運行SQL命令:
context.Database.SqlQuery<>()
和context.Database.ExecuteSqlCommand()
希望這有助於
相關問題
- 1. 找不到方法
- 2. 找不到方法
- 3. 找不到方法
- 4. 的NHibernate的createQuery與方法CAL冒號
- 5. 找不到「.dealcard」方法和「.shuffle」方法。
- 6. 找不到方法com.google.android.gms.common.GooglePlayServicesUtil
- 7. 找不到方法classpath()
- 8. android - onclick找不到方法
- 9. 找不到的onClick方法
- 10. 找不到方法makeScaleUpAnimation
- 11. 對象找不到方法
- 12. 的JOptionPane找不到方法
- 13. 找不到符號方法
- 14. 找不到方法DragMove
- 15. 找不到方法jacocoTestCoverageVerification()
- 16. 找不到Meteor.call方法
- 17. 找不到方法compile()
- 18. 找不到onButtonClick方法
- 19. 找不到方法android.support.v4.content.LocalBroadcastManager.getInstance
- 20. Laravel找不到方法
- 21. 找不到方法android.app.Activity.checkSelfPermission
- 22. 找不到方法定義
- 23. 找不到方法打開()
- 24. 找不到方法getComponent()
- 25. find_or_create_by_facebook_id找不到方法
- 26. 找不到方法:'Int32 Microsoft.Data.OData.Query.SemanticAst.QueryNode.get_Kind()'
- 27. 找不到方法:'Nancy.ErrorPipeline Nancy.ErrorPipeline.op_Addition
- 28. 找不到方法:'System.Web.Http.Controllers.ServicesContainer
- 29. 找不到方法:Microsoft.AnalysisServices
- 30. 找不到方法錯誤
你不需要那個。如果您需要檢索'PersonCreditCards'值,只需執行'context.PersonCreditCards.Where(criteria)'。它被稱爲LinQ to Entities。對此的研究。 –
我也想學習'EntitySQLQuery'。我想用這個方法:) –