我有一个使用Fluent NHibernate和NHibernate的应用程序,我有一个Generic DAO类,在这个类中我有持久化数据的通用方法,但我想创建一个通用方法来删除一个表中的所有记录。此刻我有这个方法:
Public Sub ClearTable(ByVal sTable As String)
Using session = SessaoNHibernate.OpenSession()
Using transaction = session.BeginTransaction()
Try
session.CreateSQLQuery("delete from " & sTable).ExecuteUpdate()
transaction.Commit()
session.Flush()
Catch ex As Exception
transaction.Rollback()
End Try
End Using
End Using
End Sub
我有一个泛型类,所以我想创建一个不需要传递表名的方法。因为泛型类知道他的类型。
答案 0 :(得分:5)
只是不要将它作为SQL查询运行,而是可以改为传递类名:
session.CreateQuery("delete from EntityClass").ExecuteUpdate()