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