2009-05-12 21 views
15

Temelde bunu yapabilmek istiyorum:yürütülüyor SQL ifadeleri

session.ExecuteSql("...");

Ben herhangi kuruluşlara harita veya herhangi bir değer döndürmek için gerek yoktur. Baska öneri? İhtiyaçlarınıza bağlı olarak, ISQLQuery arayüzü araştırmak isteyeceksiniz

public int GetSqlCount<T>(Session session, string table) 
{ 
    var sql = String.Format("SELECT Count(*) FROM {0}", table); 
    var query = session.CreateSQLQuery(sql); 
    var result = query.UniqueResult(); 
    // Could also use this if only updating values: 
    //query.ExecuteUpdate(); 

    return Convert.ToInt32(result); 
} 

:

+0

Özellikle Fluent NHibernate ile ilgili bir soru değildir. –

cevap

27

Daha önce de bu Akıcı NHibernate sorun değildir ama burada bir örnek, söz.

+1

Satır yerine akıcı nhibernate adlı bir adlandırılmış sorgu kullanarak bunu yapmak için bir yolu var mı? –

+1

FNH'ye özgü bir yol yoktur, ancak NHiberbate yapılandırmasıyla iyi çalışmalıdır. FNH'siz olduğu gibi, adlandırılmış sorgularınızı .hbm.xml dosyasına koyun. Ardından FNH eşleştirmelerinizle birlikte eşleme dosyasını yüklemek için FNH'yi yapılandırın ve GetNamedQuery() yöntemini kullanarak sorguları çağırabilirsiniz. –