0
我正在开发一个使用实体框架4.1的ASP.Net MVC 3应用程序。对于其中一个查询,我利用了SqlQuery方法的DbSet类,该类使我能够执行返回实体列表的原始SQL查询。实体框架4.1 SQL注入
我有我的服务类中的方法,下面看到的,在那里我写的原始的SQL,并传递两个参数,shiftID和shiftDateID。
public IList<User> GetAvailableLocums(int shiftID, int shiftDateID)
{
var query = @"set language 'British'
SELECT *
FROM [Shift]
WHERE shiftID = @p0
AND shiftDateID = @p1";
return _UoW.User.GetWithRawSql(query, shiftID, shiftDateID).ToList();
}
我然后调用下面的方法在我的仓库类,见下文,
public IEnumerable<TEntity> GetWithRawSql(string query, params object[] parameters)
{
return dbSet.SqlQuery(query, parameters).ToList();
}
我很担心,这可能是开放的SQL注入攻击。如果是这样,有没有人知道我可以如何参数化我的两个参数?
感谢您的帮助。