2

我有一个使用 Fluent NHibernate 和 NHibernate 的应用程序,我有一个通用 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

我有一个泛型类,所以我想创建一个不需要传递表名的方法。因为泛型类知道他的类型。

4

1 回答 1

5

只是不要将其作为 SQL 查询运行,您可以改为传递类名:

session.CreateQuery("delete from EntityClass").ExecuteUpdate()
于 2013-01-31T13:17:31.333 回答