2012-08-14 112 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注入攻擊。如果是這樣,有沒有人知道我可以如何參數化我的兩個參數?

感謝您的幫助。

回答