gpt4 book ai didi

linq - NHibernate 从 LINQ 结果中删除

转载 作者:行者123 更新时间:2023-12-01 12:59:55 26 4
gpt4 key购买 nike

我想知道 nhibernate 中 delete 方法的最佳用法。

如果你去实体而不只是调用 delete 并发送它,但如果不是你需要查询它或写一个查询并将它发送到 delete 方法。

我想知道是否可以编写一个 linq 表达式并将其发送到 delete。

是否可以对 hql 执行 Linq 转换然后调用 session.Delete(query)使用生成的 hql?

我想调用 Session.Delete,并给它一个 linq,这样它就可以在不选择数据的情况下知道要删除什么。你知道一个可以将 linq 表达式转换为 hql 的类吗?

最佳答案

您现在可以直接在 linq 中使用 NHibernate 5.0

    //
// Summary:
// Delete all entities selected by the specified query. The delete operation is
// performed in the database without reading the entities out of it.
//
// Parameters:
// source:
// The query matching the entities to delete.
//
// Type parameters:
// TSource:
// The type of the elements of source.
//
// Returns:
// The number of deleted entities.
public static int Delete<TSource>(this IQueryable<TSource> source);

例子:

        var tooOldDate = System.DateTime.Now.AddYears(5);
session.Query<User>()
.Where(u => u.LastConnection <= tooOldDate)
.Delete();

关于linq - NHibernate 从 LINQ 结果中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7104780/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com