LINQ to Entities - 使用字符串名称寻址类属性

2023-12-02

我有一个打开了服务器端过滤的 Kendo 网格。要过滤的字段作为字符串传递。例如,我想按“SampleId”进行过滤。现在,我需要编写一个 LINQ to Entities 查询,该查询可以使用强类型属性 SampleId 进行过滤。例如:

    db.Cases.Where(x=>targetlist.Contains(x.SampleId))

其中 targetlist 是过滤器中的项目列表。

那么,实际上,有没有一种方法可以编写一个查询,使“SampleId”可以直接转换为 Case.SampleId?

我尝试过反射并使用了 GetProperty 和 GetValue,但 LINQ to Entities 不喜欢它。

任何建议将不胜感激!


编辑(由原始海报 srinaik2020 的 pid 提供):

@zaitsman:这是在下面的评论中发布的代码,是基于已接受的答案的问题的实际解决方案。

public static class MyExtensions
{
    public static string GetPropertyByName(this CaseV case1, string name)
    {
        var x = typeof (CaseV).GetProperty(name).GetValue(case1);

        if (x != null)
        {
            return x.ToString();
        } else {
            return "none";
        }
    }
}

您可以使用扩展方法并将其附加到类。

该方法应该使用反射从对象中检索属性。

以下是指针:

  • 扩展方法
  • 获取属性()

一旦它起作用,您只需设置和/或获取属性的值。 这GetProperty()上面的方法只返回PropertyInfo目的。 要获取或设置该值,您必须使用适当的方法PropertyInfo.

我不会暴露PropertyInfo因为它会ruin魔术。

最好必须扩展方法,然后:

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

LINQ to Entities - 使用字符串名称寻址类属性 的相关文章

  • 没有强命名的代码签名是否会让您的应用程序容易被滥用?

    尝试了解authenticode代码签名和强命名 我是否正确地认为 如果我对引用一些 dll 非强命名 的 exe 进行代码签名 恶意用户就可以替换我的 DLL 并以看似由我签名但正在运行的方式分发应用程序他们的代码 假设这是真的 那么您似
  • “构建”构建我的项目,“构建解决方案”则不构建

    我刚刚开始使用VS2010 我有一个较大的解决方案 已从 VS2008 成功迁移 我已将一个名为 Test 的控制台应用程序项目添加到解决方案中 选择构建 gt 构建解决方案不编译新项目 选择构建 gt 构建测试确实构建了项目 在失败的情况
  • 以文化中立的方式将字符串拆分为单词

    我提出了下面的方法 旨在将可变长度的文本拆分为单词数组 以进行进一步的全文索引处理 删除停止词 然后进行词干分析 结果似乎不错 但我想听听关于这种实现对于不同语言的文本的可靠性的意见 您会建议使用正则表达式来代替吗 请注意 我选择不使用 S
  • WCF RIA 服务 - 加载多个实体

    我正在寻找一种模式来解决以下问题 我认为这很常见 我正在使用 WCF RIA 服务在初始加载时将多个实体返回给客户端 我希望两个实体异步加载 以免锁定 UI 并且我想利用 RIA 服务来执行此操作 我的解决方案如下 似乎有效 这种方法会遇到
  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 秒表有最长运行时间吗?

    多久可以Stopwatch在 NET 中运行 如果达到该限制 它会回绕到负数还是从 0 重新开始 Stopwatch Elapsed返回一个TimeSpan From MSDN https learn microsoft com en us
  • 查找c中结构元素的偏移量

    struct a struct b int i float j x struct c int k float l y z 谁能解释一下如何找到偏移量int k这样我们就可以找到地址int i Use offsetof 找到从开始处的偏移量z
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • WCF 中 SOAP 消息的数字签名

    我在 4 0 中有一个 WCF 服务 我需要向 SOAP 响应添加数字签名 我不太确定实际上应该如何完成 我相信响应应该类似于下面的链接中显示的内容 https spaces internet2 edu display ISWG Signe
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 控件的命名约定[重复]

    这个问题在这里已经有答案了 Microsoft 在其网站上提供了命名指南 here http msdn microsoft com en us library xzf533w0 VS 71 aspx 我还有 框架设计指南 一书 我找不到有关
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • 哪种 C 数据类型可以表示 40 位二进制数?

    我需要表示一个40位的二进制数 应该使用哪种 C 数据类型来处理这个问题 如果您使用的是 C99 或 C11 兼容编译器 则使用int least64 t以获得最大的兼容性 或者 如果您想要无符号类型 uint least64 t 这些都定
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现
  • 如何防止用户控件表单在 C# 中处理键盘输入(箭头键)

    我的用户控件包含其他可以选择的控件 我想实现使用箭头键导航子控件的方法 问题是家长控制拦截箭头键并使用它来滚动其视图什么是我想避免的事情 我想自己解决控制内容的导航问题 我如何控制由箭头键引起的标准行为 提前致谢 MTH 这通常是通过重写

随机推荐

  • 如何使用python将传感器数据输出保存到excel中

    我目前正在使用树莓派并使用 DHT11 每秒读取温度和湿度值 我必须将这些值实时保存到数据库中 这是我的代码 每秒显示传感器数据 我不知道如何在 Excel 中保存数据 结果 import RPi GPIO as GPIO import d
  • 整数线性规划 (ILP) 的运行时间复杂度是多少?

    运行时间复杂度是多少整数线性规划 ILP 问题时 有N变量的数量和R约束数量 出于编码目的 我使用 Matlabintlinprog功能 任何参考都会有帮助 整数规划是 NP 完全的 如中所述这个链接 中使用的一些启发式方法intlinpr
  • 求数轴上线段的并集

    我有一条 0 到 1000 之间的数轴 数轴上有很多线段 所有线段的 x1 gt 0 所有 x2 我需要找到线段的所有并集 在此图像中 线段为蓝色 并集为红色 是否有针对此类问题的现有算法 您可以使用 marzullo 算法 有关更多详细信
  • 当应用于变量名时 * 和 & 的含义是什么?

    在 C 中 以下之间有什么区别 void func MyType declaration MyType ptr func ptr compiler doesnt give error func ptr compiler gives erro
  • 如何检测具有相同 id 的点击 div 文本

    document ready function peoplelayer click function peoplelayer each function peoplelayer fadeOut 500 var str this text a
  • 如何在 Mac、Windows 和 Linux 中使用 keytool 生成 SHA1、SHA256、MD5 作为默认调试密钥?

    经历了官方文档 验证您的客户端 但是 终端仍然无法找到 keytool 或者命令不起作用 下面将为您提供 SHA1 SHA256 MD5 作为默认调试密钥 并且可以用于使用google play服务进行开发和调试 Linux 和 Mac 命
  • 在 MVC 中将视图渲染为字符串,然后重定向——解决方法?

    尽管我无法将视图呈现给字符串然后重定向这个答案来自二月 我认为在 1 0 版本之后 声称这是可能的 我以为我做错了什么 然后我读到了这篇文章Haack 七月的回答声称这是不可能的 如果有人让它工作并且可以帮助我让它工作 那就太好了 我将发布
  • 阻止用户打开开始菜单

    我有一个程序应该阻止用户打开任务管理器和打开开始菜单 我已经添加了代码来禁用任务管理器 现在需要阻止用户通过键盘上的 windows 键启动 开始 菜单 请问有人有想法吗 据我所知 您可以减少用户的访问权限 以便他们拥有almost开始菜单
  • WEB API 2 删除返回 405

    我正在尝试在我的 Web API 类中创建一个删除函数 我之前在使用 Put 和 Patch Http 消息时遇到了问题 因为这些消息链接到 WebDAV 更改此设置后 补丁和放置有效 但删除给我带来了问题 这是我的课程 RoutePref
  • 测试点是否在圆内的方程

    如果你有一个以中心为中心的圆 center x center y 和半径radius 如何测试给定点是否具有坐标 x y 是在圈内吗 一般来说 x and y必须满足 x center x y center y lt radius 请注意
  • VBScript 能否确定特定文件夹中最近修改(或添加)的文件?

    我有一个脚本 或更准确地说将有一个脚本 来检查文件夹并将文件从该文件夹复制到不同的位置 每天运行一次 然而 我想要复制的文件名会根据日期而变化 基本上 我不想将 strFilePath 设置为 C somePath somePath2 my
  • 我在哪里为 Qt 设计器中的单个升级的 QWidget 编写类

    我阅读 测试并理解了很多来自 Qt 设计器的 QWidgets 使用示例 这些示例已升级到 PyQt5 尽管如此 我无法为我自己处理一个简单的例子 下面我展示了我的代码 该代码不起作用并尝试解释 在 Qt 设计器中 我创建一个简单的 Mai
  • 带 UIImages 指针的模拟时钟?

    我想知道如何在iPhone SDK中制作模拟时钟 但是 我希望时钟的指针是自定义图像 而不是像本教程中那样绘制的正方形 http iphone dev tips alterplay com 2010 03 analog clock usin
  • var let 可以,但 let let 不行吗?

    Version A var let true console log let true Version B let let 0 syntax Error let is disallowed as a lexically bound name
  • 如何在没有 Storyboard 的 Xcode 中创建空应用程序

    Xcode6已删除Empty Application创建新项目时的模板 我们如何创建一个空的应用程序 没有故事板 Xcode6及以上 就像早期版本一样 里面没有选项XCode6及以上版本用于直接创建空应用程序 如下所示XCode5和更早的时
  • 如何使用 IF 函数编写步进函数

    我有 3 个数字范围 答案取决于范围 75 79 gt 0 255 80 84 gt 0 327 85 gt 0 559 我尝试创建一个方程 通过使用嵌套来解释范围IF函数 但 Excel 指出我为此函数输入了太多参数 下面是我输入的方程式
  • 将字符串传递给 ggplot 函数

    我想要一个可以应用于任何满足条件的对象的函数 并且有一个很好的ggplot带回归线打印的散点图 但是 我无法概括我能做什么REPL与代码 所以我有这个工作 require ggplot2 require xts set seed 1 dd
  • sql中的trunc和round函数

    trunc 和 round 与否定参数相同吗 SQL gt select round 123456 76 4 from dual ROUND 123456 76 4 120000 SQL gt select trunc 123456 76
  • 是否可以在 Xamarin.Forms 中将字符串转换为标题大小写?

    所以在我的程序中我有一个Entry像这样
  • LINQ to Entities - 使用字符串名称寻址类属性

    我有一个打开了服务器端过滤的 Kendo 网格 要过滤的字段作为字符串传递 例如 我想按 SampleId 进行过滤 现在 我需要编写一个 LINQ to Entities 查询 该查询可以使用强类型属性 SampleId 进行过滤 例如