2009-05-02 82 views
0

我使用流利的nhibernate。流利nhibernate:問題在哪裏條款

我已經寫了一段代碼等,

var data = session.CreateCriteria(typeof(CustomerNameValueList)) 
         .Add(Expression.Eq("CustomerId","3")) 
         .List<CustomerNameValueList>(); 

而是由NHibernate的生成的查詢是貌似

select column1,column2,column3 from table where CustomerId=? 

問題是與 「客戶ID =?」 expeted:?。 '?' 客戶ID = 3"

爲什麼客戶ID =而非客戶ID = 3

請幫我

+1

你在問 – 2009-05-02 11:27:04

回答

2

沒有什麼錯此查詢的在日誌中將被替換爲字符串值「3」如果你的列類型實際上是一個int,你可能在這裏有一個問題查詢的參數化是你想保護你免受SQL注入攻擊,如果生成查詢有你想象中的CustomerId ='3',而'3'來自網頁上的文本框,那麼可以注入更多的SQL,例如'3'DELETE FROM MyUserTable。