2012-08-14 113 views
0

我正在开发一个使用实体框架4.1的ASP.Net MVC 3应用程序。对于其中一个查询,我利用了SqlQuery方法的DbSet类,该类使我能够执行返回实体列表的原始SQL查询。实体框架4.1 SQL注入

我有我的服务类中的方法,下面看到的,在那里我写的原始的SQL,并传递两个参数,shiftIDshiftDateID

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注入攻击。如果是这样,有没有人知道我可以如何参数化我的两个参数?

感谢您的帮助。

回答