vb.net - 删除 NHibernate 表中的所有行

标签 vb.net nhibernate fluent-nhibernate

我有一个使用 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

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

最佳答案

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

session.CreateQuery("delete from EntityClass").ExecuteUpdate()

关于vb.net - 删除 NHibernate 表中的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14626456/

相关文章:

asp.net - 如何跟踪 ASP.Net JIT 编译?它非常慢

nhibernate - "Ambiguous column name"在集合映射中使用 order-by 时出现异常

c# - NHibernate:跨多个实例的全局缓存

c# - 帮助使用 FluentNHibernate 创建 ColumnName 约定

.net - 流畅的 NHibernate : mapping complex many-to-many (with additional columns) and setting fetch

mysql - 如何在 vb.net 中将 Unicode 或 Nature Language 文本保存到 MySQL 数据库

vb.net - Code First 采用标记为 WithEvents 的私有(private)字段来构建自动外部

NHibernate-使用ICriteria实现 "NOT IN"查询

c# - 使用 Fluent nhibernate 配置自动收缩 sqlite 数据库文件

javascript - JS Websocket 停留在连接到 TCPListener 的状态 - VB.net