I want to use ExecuteStoreQuery function of Entity Framework and I was wondered that my context variable didn't have ExecuteStoreQuery method.
So, I discovered that it's a method of ObjectContext class, but I've already used DbContext for my application. I simply had tried to change DbContext with ObjectContext, but it brought some errors(for example, in ObjectContext isn't OnModelCreating method).
How can I use ExecuteStoreQuery with DbContext and if I can't, is any alternatives of ExecuteStoreQuery in DbContext?
EF and EF Core DbContext types implement IDisposable . As such, best practice programming suggests that you should wrap them in a using() block (or new C# 8 using statement). Unfortunately, doing this, at least in web apps, is generally a bad idea.
Entity Framework allows you to execute raw SQL queries for the underlying relational database.
The Entity Framework has the capability of importing a Stored Procedure as a function. We can also map the result of the function back to any entity type or complex type.
A DbContext is simply a wrapper around the ObjectContext.
You can still access the original ObjectContext by using IObjectContextAdapter
(dbContext as IObjectContextAdapter).ObjectContext;
I want to add that I think now the correct method is:
dbContext.Database.SqlQuery<T>(string sql);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With