我正在尝试遵循本教程:
但似乎无法访问此方法,它不会出现在智能
中context.Database.SqlQuery
我使用以下代码但似乎无法访问SqlQuery方法:
using(Entities db = new Entities())
{
}
答案 0 :(得分:4)
您描述的方法对于执行SQL与DbContext
版本的EF有效。 (DbContext
用于Code First,也可用于模型,但您需要进行一些设置)。但是在您的示例中,它应该是以下内容。
using(Entities db = new Entities())
{
db.Database.SqlQuery(....);
}
如果您首先使用OOB模型(即edmx),则可能使用ObjectContext
,在这种情况下,您需要执行以下操作:
using(Entities db = new Entities())
{
db.ExecuteStoreQuery<ReturnType>("...");
}
答案 1 :(得分:1)
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();
}