gpt4 book ai didi

c# - Linq to NHibernate 存储库实现细节

转载 作者:行者123 更新时间:2023-11-30 20:11:49 26 4
gpt4 key购买 nike

我想为我的 MyTypeRepository 使用以下 API:

var myChosenInstance = _myRepository.FindOne(x => x.MyProperty == "MyValue");

..以及用于在存储库中构建 linq 查询的 lambda,然后 Linq 将其用于 NHibernate。

这可能吗?我的存储库 FindOne 方法会是什么样子?

最佳答案

public EntityType FindOne<EntityType>(Expression<Func<EntityType,bool>> predicate)
{
return session.Linq<EntityType>().FirstOrDefault(predicate);
}

假设

  1. 您的存储库类有一个 ISession名为 session 的变量
  2. Linq-To-NHibernate 有一个有效的 FirstOrDefault() 实现方法(因为我没有测试确认)

如果你的存储库类有一个类型参数 Repository<EntityType> , 然后你可以从方法中省略类型参数。

关于c# - Linq to NHibernate 存储库实现细节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3246285/

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