使用 Linq 的属性选择器和Where 查询

2024-03-15

我正在尝试这样做:

public class SomeEntityClass
{
    public Guid MyClassProperty {get;set;}
}

public class AnotherEntityClass
{
    public Guid AnotherProperty {get;set;}
}

public T GetByProperty<T>(Guid value, Expression<Func<T, object>> selector)
{
    return = Session.Query<T>().Where(x => selector == value).FirstOrDefault();
}

应该被称为:

Repository.GetByProperty<SomeEntityClass>(Guid.NewGuid(), x => x.MyClassProperty );
Repository.GetByProperty<AnotherEntityClass>(Guid.NewGuid(), x => x.AnotherProperty);

但它不起作用。

有什么帮助吗?

Thanks.


尝试使用类似的东西:

public T GetByProperty<T, TValue>(TValue value, Expression<Func<T, TValue>> selector) {
    var predicate = Expression.Lambda<Func<T, bool>>(
        Expression.Equal(selector.Body, Expression.Constant(value)), 
        selector.Parameters
    );

    return Session.Query<T>().Where(predicate).FirstOrDefault();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Linq 的属性选择器和Where 查询 的相关文章

  • 如何捕获未发送到 stdout 的命令行文本?

    我在项目中使用 LAME 命令行 mp3 编码器 我希望能够看到某人正在使用什么版本 如果我只执行 LAME exe 而不带参数 我会得到 例如 C LAME gt LAME exe LAME 32 bits version 3 98 2
  • 代码 GetAsyncKeyState(VK_SHIFT) & 0x8000 中的这些数字是什么?它们是必不可少的吗?

    我试图在按下按键的简单动作中找到这些数字及其含义的任何逻辑解释 GetAsyncKeyState VK SHIFT 0x8000 可以使用哪些其他值来代替0x8000它们与按键有什么关系 GetAsyncKeyState 根据文档返回 如果
  • GetType() 在 Type 实例上返回什么?

    我在一些调试过程中遇到了这段代码 private bool HasBaseType Type type out Type baseType Type originalType type GetType baseType GetBaseTyp
  • 如何判断计算机是否已重新启动?

    我曾经使用过一个命令行 SMTP 邮件程序 作为试用版的限制 它允许您在每个 Windows 会话中最多接收 10 封电子邮件 如果您重新启动计算机 您可能还会收到 10 个以上 我认为这种共享软件破坏非常巧妙 我想在我的应用程序中复制它
  • JNI 将 Char* 2D 数组传递给 JAVA 代码

    我想从 C 代码通过 JNI 层传递以下指针数组 char result MAXTEST MAXRESPONSE 12 12 8 3 29 70 5 2 42 42 在java代码中我写了以下声明 public static native
  • 函数参数的默认参数是否被视为该参数的初始值设定项?

    假设我有这样的函数声明 static const int R 0 static const int I 0 void f const int r R void g int i I 根据 dcl fct default 1 如果在参数声明中指
  • 查看 NuGet 包依赖关系层次结构

    有没有一种方法 文本或图形 来查看 NuGet 包之间的依赖关系层次结构 如果您使用的是新的 csproj 您可以在此处获取所有依赖项 在项目构建后 项目目录 obj project assets json
  • Visual Studio 在构建后显示假错误

    我使用的是 Visual Studio 2017 构建后 sln在调试模式下 我收到错误 但是 当我通过双击错误列表选项卡中的错误来访问错误时 错误会从页面中消失 并且错误数量也会减少 我不太确定这种行为以及为什么会发生这种情况 有超过 2
  • 对 std::vector 进行排序但忽略某个数字

    我有一个std vector
  • 识别 Visual Studio 中的重载运算符 (c++)

    有没有办法使用 Visual Studio 快速直观地识别 C 中的重载运算符 在我看来 C 中的一大问题是不知道您正在使用的运算符是否已重载 Visual Studio 或某些第三方工具中是否有某些功能可以自动突出显示重载运算符或对重载运
  • 打破 ReadFile() 阻塞 - 命名管道 (Windows API)

    为了简化 这是一种命名管道服务器正在等待命名管道客户端写入管道的情况 使用 WriteFile 阻塞的 Windows API 是 ReadFile 服务器已创建启用阻塞的同步管道 无重叠 I O 客户端已连接 现在服务器正在等待一些数据
  • 在 NaN 情况下 to_string() 可以返回什么

    我使用 VS 2012 遇到了非常令人恼火的行为 有时我的浮点数是 NaN auto dbgHelp std to string myFloat dbgHelp最终包含5008角色 你不能发明这个东西 其中大部分为0 最终结果是 0 INF
  • C++ int 前面加 0 会改变整个值

    我有一个非常奇怪的问题 如果我像这样声明一个 int int time 0110 然后将其显示到控制台返回的值为72 但是当我删除前面的 0 时int time 110 然后控制台显示110正如预期的那样 我想知道两件事 首先 为什么它在
  • 等待 IAsyncResult 函数直至完成

    我需要创建等待 IAsyncResult 方法完成的机制 我怎样才能做到这一点 IAsyncResult result contactGroupServices BeginDeleteContact contactToRemove Uri
  • WebBrowser.Print() 等待完成。 。网

    我在 VB NET 中使用 WebBrowser 控件并调用 Print 方法 我正在使用 PDF 打印机进行打印 当调用 Print 时 它不会立即启动 它会等到完成整个子或块的运行代码 我需要确保我正在打印的文件也完整并继续处理该文件
  • String.Empty 与 "" [重复]

    这个问题在这里已经有答案了 可能的重复 String Empty 和 有什么区别 https stackoverflow com questions 151472 what is the difference between string
  • 我可以在“字节数”设置为零的情况下调用 memcpy() 和 memmove() 吗?

    当我实际上没有什么可以移动 复制的时候 我是否需要处理这些情况memmove memcpy 作为边缘情况 int numberOfBytes if numberOfBytes 0 memmove dest source numberOfBy
  • 如何减少具有多个单元的 PdfPTable 的内存消耗

    我正在使用 ITextSharp 创建一个 PDF 它由单个 PdfTable 组成 不幸的是 对于特定的数据集 由于创建了大量 PdfPCell 我遇到了内存不足异常 我已经分析了内存使用情况 我有近百万个单元格的 1 2 在这种情况下有
  • Objective-C / C 给出枚举默认值

    我在某处读到过关于给枚举默认值的内容 如下所示 typedef enum MarketNavigationTypeNone 0 MarketNavigationTypeHeirachy 1 MarketNavigationTypeMarke
  • 不区分大小写的字符串比较 C++ [重复]

    这个问题在这里已经有答案了 我知道有一些方法可以进行忽略大小写的比较 其中涉及遍历字符串或一个good one https stackoverflow com questions 11635 case insensitive string

随机推荐

  • Gradle:未指定资源类型(在“text”处,值为“@{user.name}”)。数据绑定不起作用

    我试图将适当的数据绑定功能添加到我的项目中 但由于某种原因它仍然失败 build gradle文件看起来像这样 apply plugin com android application buildscript repositories ma
  • Java 变量如何与其自身不同?

    我想知道这个问题是否可以用 Java 解决 我是该语言的新手 这是代码 class Condition you can change in the main public static void main String args int x
  • Java Swing 更新 JList

    我想知道是否有任何方法可以在用户添加或删除项目后以及用户对其进行排序后更新 Jlist 有什么方法可以编写标准化方法来根据数组或向量中的项目顺序以及当用户从 JList 所基于的数组中删除或添加对象时更新显示 谢谢 应该更新 ListMod
  • 异常处理实践顶层与每个函数

    我见过几种异常处理方法 我见过的两种最常见的模式是 在每个函数上尝试捕获 记录异常并重新抛出 在最顶层尝试捕获 如主函数 记录异常并重新抛出 如果有的话 哪一种是更好的做法 或者在什么情况下您会选择一种方法而不是另一种 这取决于您的应用程序
  • 当使用 fork() 时,getline() 会重复读取文件

    我正在开发一个简单的 shell 程序 一个命令行解释器 我想从文件中逐行读取输入 所以我使用了 getline 函数 第一次 程序工作正常 但是 当它到达文件末尾时 它没有终止 而是开始从头开始读取文件 并且无限运行 下面是 main 函
  • Python 和 sqlite3 - 导入和导出数据库

    我正在尝试编写一个脚本来导入数据库文件 我编写了导出文件的脚本 如下所示 import sqlite3 con sqlite3 connect sqlite db with open dump sql w as f for line in
  • Git:如何防止提交仅为调试目的而修改的文件?

    很多时候 我喜欢修改一些代码行以使调试更容易 但实际上我并不想提交它们 例如 我将通过注释掉某些代码行来禁用一些烦人的功能 例如广告 或者我将日志级别和过滤器设置为仅我关心的级别 或者我将强制条件为 true这样我想要运行的代码块实际上一直
  • Android 在 AlertDialog 中等待用户输入以继续

    我看到这里讨论了这个主题 但似乎不明白如何继续 In my onCreate我有代码检查它是否是应用程序的第一次运行firstRun getPref getBoolean firstRun true 如果是第一次运行该应用程序 则会显示一个
  • 具有目标 Windows 本地文件夹的 Docker 命名卷

    在 docker compose 文件中 我想创建一个命名卷 该卷将以本地驱动器为目标进行测试 对于生产 我们将使用 NFS 我创建了如下撰写文件 version 3 3 services test build volumes type v
  • SwipeRefreshLayout刷新动画不停止

    我已经实现了一个具有 SwipeRefreshLayout 作为内容视图的片段 刷新动画在 onRefresh 时触发 但即使在从服务器检索数据后将 setRefreshing 设置为 false 刷新动画也不会停止 Override pu
  • 读取 aws 凭证文件的最佳方式

    在我的 python 代码中 我需要提取 AWS 凭证 AWS SECRET ACCESS KEY 和 AWS ACCESS KEY ID 它们存储在纯文本文件中 如下所述 https docs aws amazon com sdkref
  • Google“OpenID Connect”和“使用 Google 登录”之间的区别?

    我希望我的网站的用户使用 Google 帐户进行身份验证 登录我的网站 首要的use case用户将编辑和生成内容 我们希望以安全的方式记录所有权 我们对获取用户谷歌数据不感兴趣 我们只是想要一种对用户进行身份验证的方法 谷歌搜索后 我发现
  • 是否有“std::condition_variable”的“notify_one()”队列?

    考虑第一个线程函数和全局变量 std mutex mut std condition variable officer bool firstPlayerIsReady false bool secondPlayerIsReady false
  • 是否可以在没有 IIS 的情况下使用 Windows 集成身份验证?

    我有一个 nginx 反向代理到一些节点应用程序 我们的用户都位于 Windows 域控制网络上 我知道我可以使用快递 ntlm https github com einfallstoll express ntlm or 护照 window
  • python 错误:ImportError:sys.meta_path 为 None,Python 可能会关闭

    我在pycharm中编写了一个python程序 包括FBCrawl py html login py common glovar py 在glovar py中 我定义了一个变量webdriver browser 并希望在FBCrawl py
  • StringBuffer如何在不创建两个对象的情况下实现append功能?

    这是一个面试问题 我被要求实施StringBuffer追加功能 面试后我看到了代码 但我无法理解如何通过创建单个对象来完成该操作 我是这样想的 String s orange s append apple 这里创建了两个对象 But Str
  • Java 本地化数字格式

    Java 使用小数点的句点 例如1 2 0 5 有没有办法让它使用逗号代替 如 1 2 0 5 并且不要使用逗号来表示千 例如十万 100 000 而是使用空格 100 000 当谈到输出时 我想我可以使用各种字符串格式函数 但问题是输入
  • 从字符串中删除 %0A

    我怎样才能从这个字符串中删除 0A 这是输入关键代码 我需要从整个字符串中删除它 那么我该怎么做呢 input NA 0A 0AJKhell 这是测试 0A Output NAJKhell 这是测试 Update String Commen
  • 每次调用任何其他方法之前调用一个方法

    我有一个类 该类中有一个私有方法和许多公共方法 每次调用任何其他方法之前都必须调用此私有方法 最简单的方法是在每个方法中调用该方法 但我不喜欢这种方法 还有其他方法可以实现这一目标吗 您也许可以使用 AOP 在这里做一些事情 也许通过后锐利
  • 使用 Linq 的属性选择器和Where 查询

    我正在尝试这样做 public class SomeEntityClass public Guid MyClassProperty get set public class AnotherEntityClass public Guid An