我必須寫流利的NHibernate的查詢爲功能NHibernate Where子句
Select * from Users where UserName = 'Abcd' AND Password = '123456'
如何創建上面的查詢與session.CreateCriteria
我必須寫流利的NHibernate的查詢爲功能NHibernate Where子句
Select * from Users where UserName = 'Abcd' AND Password = '123456'
如何創建上面的查詢與session.CreateCriteria
流利NHibernate的是一個替代的映射框架,默認HBM文件( Hibernate映射)
的NHibernate本身提供了不同的查詢API的喜歡
對於標準查詢將沿東西一行:
var users = session.CreateCriteria<Users>()
.Add(Restrictions.Eq("UserName", "Abcd"))
.Add(Restrictions.Eq("Password", "123456"))
.List<Users>();
查詢:
var users = from u in session.Query<Users>()
where u.UserName == "Abcd"
&& u.Password == "123456"
select u;
或
var users = session.Query<Users>()
.Where(x => x.UserName == "Abcd" && u.Password == "123456");
QueryOver:
var users = session.QueryOver<Users>()
.Where(x => x.UserName == "Abcd")
.And(u.Password == "123456")
.List();
查詢過
var users = session.QueryOver<Users>()
.Where(x => x.UserName == "Abcd" && x.Password == "123456")
.List();
感謝偉大的答覆。我可以在上述查詢中返回一個用戶類型嗎? – Saad
@Saad - 單個用戶?而不是一個集合?當然。您可以查看Query/QueryOver上的'SingleOrDefault()',而不是'List()'。我不確定您在Criteria上調用哪種方法來執行單個結果。沒有Visual Studio的方便。 – Phill
感謝SingleOrDefault()爲我工作。 – Saad