我有一个困难的SQL查询,我不想在Linq上重写它。问题是:我有两个相同的表,我必须根据某些条件使用其中一个。所以,要传递参数(表的名称),我使用它:
List<Variables> lst = db.Database
.SqlQuery<Variables>(s, new SqlParameter("tableSource", sourceTable))
.ToList();
我的查询是这样的:
SELECT @tableSource.PlanId,
@tableSource.PlanSmall AS PlanImg,
@tableSource.NOb,
...
它不起作用,有人可以帮助我吗?
答案 0 :(得分:0)
您无法使用SqlParameter
。例如,它用于设置WHERE
子句中参数的值。您可以考虑使用像
if (someParam.Equals("thisValue")
{
return "SELECT * FROM thisTable";
} else if (someParam.Equals("thatValue")
{
return "SELECT * FROM thatTable";
}