2009-05-02 83 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。