我正在尝试遵循本教程:
但似乎无法访问此方法,它不会出现在智能感知中
context.Database.SqlQuery
我正在使用以下代码,但似乎无法访问 SqlQuery 方法:
using(Entities db = new Entities())
{
}
我正在尝试遵循本教程:
但似乎无法访问此方法,它不会出现在智能感知中
context.Database.SqlQuery
我正在使用以下代码,但似乎无法访问 SqlQuery 方法:
using(Entities db = new Entities())
{
}
您描述的方法适用于执行 SQL 与DbContext
EF 版本。(DbContext
用于代码优先,也可用于模型优先,但您需要进行一些设置)。但是,在您的示例中,它应该如下所示。
using(Entities db = new Entities())
{
db.Database.SqlQuery(....);
}
如果您首先使用 OOB 模型(即 edmx),那么您可能正在使用ObjectContext
,在这种情况下,您需要执行以下操作:
using(Entities db = new Entities())
{
db.ExecuteStoreQuery<ReturnType>("...");
}
return context.Database.SqlQuery<myEntityType>("mySpName {0}, {1}, {2}",
new object[] { param1, param2, param3 });
//或者
using(var context = new MyDataContext())
{
return context.Database.SqlQuery<myEntityType>("mySpName {0}, {1}, {2}",
new object[] { param1, param2, param3 }).ToList();
}
//或者
using(var context = new MyDataContext())
{
object[] parameters = { param1, param2, param3 };
return context.Database.SqlQuery<myEntityType>("mySpName {0}, {1}, {2}",
parameters).ToList();
}
//或者
using(var context = new MyDataContext())
{
return context.Database.SqlQuery<myEntityType>("mySpName {0}, {1}, {2}",
param1, param2, param3).ToList();
}