使用字符串动态创建 (LLBLGen) Linq 查询

2023-12-22

我们需要生成在编码期间(设计时)100% 未知的 LINQ 查询。这是因为我们的框架中的逻辑可用,该框架与任何数据项目 100% 分离。对于数据,我们使用 LLBLGen 生成的数据访问代码。

通常,通过使用 DLL 上的调用(我们向框架指定(而不是引用)),我们可以创建代码来检索数据。但现在我们需要通过 linq 来完成此操作。我们如何创建一个像这样的查询:

var q = from customer in m.Customer
        select new
        {                   
            customer.Number,
            customer.City,
            customer.CountryEntity.Name             
        };

仅来自字符串。我们将有 1 个名为“customer”的字符串,因此我们知道必须从 Customer 检索。然后我们将有一个包含我们要检索的字段名的 string[]。正如您所看到的,这些列可能包含复杂类型(相关字段)。

任何建议,尤其是与 LLBLGen 结合使用,都会很棒!

谢谢, 瞎扯


我不确定这是否正是您想要的,但 Scott Gu 在他的博客上有一篇关于使用动态 LINQ 的帖子。http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx

它可能无法满足您所需的所有需求,但可能会为您提供一些帮助。

编辑。我只是看了一下 Scott Gu 的一些示例代码,发现它可以完成您需要的选择部分。示例(这是斯科特代码):

Dim query = db.Customers.Where("City == @0 and Orders.Count >= @1", "London", 10). _
                OrderBy("CompanyName"). _
                Select("New(CompanyName as Name, Phone)")

正如您所看到的,底部位有一个动态选择。

另外,为了解决在运行时动态了解要查询哪个对象的问题,您可以这样做:

 Sub query(Of T)(ByVal Myobject As IQueryable(Of T))
    Dim i = Myobject.Select("New(customer.Number)")
 End Sub

然后,您可以在从数据库中读取名称后进行一些切换,如下所示:

Sub PassIt()
    Dim name = "customer"
    Select Case name
        Case "customer"
            query(m.Customer)
    End Select
End Sub

希望这可以帮助。 笔记!会有更好的方法来完成最后一部分(passit 方法),但要一大早才能想到它。

抱歉,答案是在 VB 中,我应该在 C# 中完成

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

使用字符串动态创建 (LLBLGen) Linq 查询 的相关文章

  • 如何从字符串中提取子字符串直到遇到第二个空格?

    我有一个像这样的字符串 o1 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 如何仅提取 o1 1232 5467 要提取的字符数并不总是相同 因此 我只想提取直到遇到
  • C# SmtpClient编程中如何设置带有中文的附件文件名?

    我的代码如下 ContentType ct new ContentType ct MediaType MediaTypeNames Application Octet ct Name 这是一个很长的中文文件名希望能用它在附件名中 Doc A
  • 格式说明符%02x

    我有一个简单的程序 include
  • 是否需要销毁运算符删除的形式才能真正销毁对象?

    C 20 添加了破坏形式operator delete区别于std destroying delete t范围 它导致delete表达式在调用之前不再销毁对象operator delete 目的是在显式调用对象的析构函数和释放内存之前 允许
  • 静态构造函数和 BeforeFieldInit?

    如果类型没有静态构造函数 则将执行字段初始值设定项 就在使用该类型之前 或者在某个时间点突发奇想 运行时 为什么这段代码 void Main start Dump Test EchoAndReturn Hello end Dump clas
  • 如何在 C# 中将 Json 转换为对象

    我想将 Json 转换为 C 中的对象 这里的 Json 是 值 e920ce0f e3f5 4c6f 8e3d d2fbc51990e4 如何使用 Object 问题看似愚蠢 但其实并不那么愚蠢 我没有简单的 Json 我有 IEnume
  • 使用 C# 和 ASP.NET 在电子邮件附件中发送 SQL 报告

    我正在尝试使用 ASP NET 和 C 从 sql reportserver 2008 作为电子邮件附件发送报告 到目前为止我学会了如何获取 PDF 格式的报告 http weblogs asp net srkirkland archive
  • 防止控制台应用程序中的内存工作集最小化?

    我想防止控制台应用程序中的内存工作集最小化 在Windows应用程序中 我可以这样做覆盖 SC MINIMIZE 消息 http support microsoft com kb 293215 en us fr 1 但是 如何在控制台应用程
  • JavaScript 错误:MVC2 视图中的条件编译已关闭

    我试图在 MVC2 视图页面中单击时调用 JavaScript 函数 a href Select a JavaScript 函数 function SelectBenefit id code alert id alert code 这里 b
  • OpenGL:如何检查用户是否支持glGenBuffers()?

    我检查了文档 它说 OpenGL 版本必须至少为 1 5 才能制作glGenBuffers 工作 用户使用的是1 5版本但是函数调用会导致崩溃 这是文档中的错误 还是用户的驱动程序问题 我正在用这个glGenBuffers 对于VBO 我如
  • Unity手游触摸动作不扎实

    我的代码中有一种 错误 我只是找不到它发生的原因以及如何修复它 我是统一的初学者 甚至是统一的手机游戏的初学者 我使用触摸让玩家从一侧移动到另一侧 但问题是我希望玩家在手指从一侧滑动到另一侧时能够平滑移动 但我的代码还会将玩家移动到您点击的
  • 让网络摄像头在 OpenCV 中工作

    我正在尝试让我的网络摄像头在 Windows 7 64 位中的 OpenCV 版本 2 2 中捕获视频 但是 我遇到了一些困难 OpenCV 附带的示例二进制文件都无法检测到我的网络摄像头 最近我发现这篇文章表明答案在于重新编译一个文件 o
  • 如何从 Boost.PropertyTree 复制子树

    我有一些boost property tree ptree 我需要树来删除一些具有特定标签名称的元素 例如 xml 表示源ptree如下
  • SQLAPI++ 的免费替代品? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何免费 也许是开源 的替代品SQLAPI http www sqlapi com 这个库看起来
  • 以编程方式创建 Blob 存储容器

    我有一个要求 即在创建公司时 在我的 storageaccount 中创建关联的 blob 存储容器 并将容器名称设置为传入的字符串变量 我已尝试以下操作 public void AddCompanyStorage string subDo
  • 如何高效计算连续数的数字积?

    我正在尝试计算数字序列中每个数字的数字乘积 例如 21 22 23 98 99 将会 2 4 6 72 81 为了降低复杂性 我只会考虑 连续的数字 http simple wikipedia org wiki Consecutive in
  • winform c# 中的弹出窗口

    我正在开发一个需要弹出窗口的项目 但问题是我还希望能够通过表单设计器在此弹出窗口中添加文本框等 所以基本上我有一个按钮 当您单击它时 它将打开我在表单设计器中设计的另一个窗口 我一直在谷歌搜索 但还没有找到我需要的东西 所以我希望你们能帮助
  • 如果找不到指定的图像文件,显示默认图像的最佳方式?

    我有一个普通的电子商务应用程序 我将 ITEM IMAGE NAME 存储在数据库中 有时经理会拼错图像名称 为了避免 丢失图像 IE 中的红色 X 每次显示产品列表时 我都会检查服务器中是否有与该产品相关的图像 如果该文件不存在 我会将其
  • ContentDialog Windows 10 Mobile XAML - 全屏 - 填充

    我在项目中放置了一个 ContentDialog 用于 Windows 10 上的登录弹出窗口 当我在移动设备上运行此项目时 ContentDialog 未全屏显示 并且该元素周围有最小的填充 在键盘上可见 例如在焦点元素文本框上 键盘和内
  • 如何在 C# 中获取 CMD/控制台编码

    我需要指定正确的代码页来使用 zip 库打包文件 正如我所见 我需要指定控制台编码 在我的例子中为 866 C Users User gt mode Status for device CON Lines 300 Columns 130 K

随机推荐

  • 如何在空手道中的功能运行之间共享变量?

    我有一个应用程序 通过使用创建一次令牌karate callSingle in my karate config file 然而 这个令牌在一段时间后就会过期 所以我可能需要在一些测试后重新创建它 我的计划是在一个变量中设置创建时间 该变量
  • 如何在对 Kubernetes 服务的请求上使用会话亲和性?

    我找不到指定 Kubernetes 服务在使用多个副本扩展附属部署时的行为方式的文档 我假设存在某种负载平衡 与服务类型有关吗 另外 我希望服务转发的请求具有一定的亲和力 即 如果可能的话 具有特定后缀的所有请求应始终映射到同一个 pod
  • 通过 pip 成功安装 lxml 后,在 python 命令行中执行“from lxml import etree”时出现错误

    bash 3 2 pip install lxml 2 3 5 tgz Unpacking lxml 2 3 5 tgz Running setup py egg info for package from file Users apple
  • 如何使用 d3.js 更新轴

    我正在尝试在图表上显示不同的数据 用户可以单击单选按钮来更改显示的数据 我正在使用 气泡图 来呈现数据 对于每种类型的数据 我需要更新 Y 轴 域不同 这是我现在所做的 图表初始化 var svg d3 select body main c
  • 使用 json.net 反序列化没有类型信息的多态 json 类

    This 图像 API https api imgur com endpoints gallery调用返回一个包含两者的列表画廊图片 and 画廊相册以 JSON 表示的类 鉴于没有 type 属性告诉反序列化器要表示哪个类 我看不到如何使
  • Android Hello, Gallery教程——“R.styleable无法解析”

    在制作 Hello Gallery 教程 示例应用程序时 之后按照说明进行操作 http developer android com guide tutorials views hello gallery html在网站上 Eclipse
  • 避免并行继承层次结构

    我有两个并行的继承链 Vehicle lt Car lt Truck lt etc VehicleXMLFormatter lt CarXMLFormatter lt TruckXMLFormatter lt etc 我的经验是 随着并行继
  • Control-C 在 Windows 7 上的 git bash 中杀死 Ipython

    在 Linux 上摸爬滚打了这么多年之后 我又回到了可怕的 Windows 环境 我使用 Ipython 并在 git bash 中启动它 我很难使用其他东西 因为我的办公室的环境配置为使用它 因此 当我启动 Ipython 并且错误地启动
  • iPhone OpenGL ES 2.0 与 Cocos2D 混合给出了意想不到的结果

    我有非常简单的 CCScene 只有 1 个 CCLayer 包含 采用标准混合模式的 CCSprite 背景 CCRenderTexture 绘制画笔 其精灵附加到背景精灵上方的根 CCLayer bgSprite CCSprite sp
  • JPA多对多关系未插入生成的表中

    我的项目中有多对多关系 虽然我可以在两个实体表中写入 但关系表没有写入任何内容 以下是我如何使用 JPA 注释来声明这一点 教授 java Entity Table name Professor public class Professor
  • 无法在 ASP.Net MVC 3 项目中使用实体框架保存更改

    学习 asp net mvc 3 EF 代码优先 我对两者都是新手 我的例子很简单 但我仍然无法使它工作 缺少一些简单而明显的东西 我有一堂课 public class Product HiddenInput DisplayValue fa
  • Excel VBA VLookup - 错误 13 - “类型不匹配”

    我正在开发一个 Excel VBA 宏 它从另一张工作表获取客户的电子邮件 我从 VLookup 中收到错误 13 类型不匹配 For Each c In Range D3 D130 Cells If c gt 500 Then Dim e
  • 如何对 istream/istringstream 使用“固定”浮点字段?

    C 有一个名为 fixed 的 I O 操纵器 用于以固定 非科学 形式输入 输出浮点数 它对于输出工作正常 但我不明白如何让输入正常工作 考虑这个例子 include
  • JS - Onload 事件未触发[重复]

    这个问题在这里已经有答案了 这会触发 onload 事件 p Demo p 这不会触发 onload 事件 p Demo p 在第二个示例中 为什么事件没有触发 支持的元素onload are img
  • Mongoose 私人聊天消息模型

    我正在尝试将用户之间的私人消息添加到我的数据模型中 我一直在两种可能的方法之间来回选择 1 每个用户都有一个 user id chat id 对的数组 它们对应于他们正在参与的聊天 聊天模型仅存储 chat id 和消息数组 2 根本不存储
  • 处理 Windows 服务停止/暂停请求期间的延迟

    我有一个源自的 Windows 服务类ServiceBase使用一个System Timers Timer频繁运行代码 处理程序OnStop and OnPause使用计时器线程的一些信号来检查计时器是否仍在运行并等待其完成 在这种情况下
  • MySQL时间戳自动更新性能

    我们正在考虑向 mysql 表添加一个自动更新的时间戳字段 以跟踪上次更新行的时间 如 mysql 文档中所述 https dev mysql com doc refman 8 0 en timestamp initialization h
  • 如何允许授予对上传到 AWS S3 的对象的公共读取访问权限?

    我创建了一个策略 允许访问我的帐户中的单个 S3 存储桶 然后 我创建了一个仅包含此策略的组和一个属于该组的用户 用户可以按预期查看 删除文件并将文件上传到存储桶 然而 用户似乎无法授予对上传文件的公共读取权限 当 的时候授予对此对象的公共
  • 为傻瓜定制的等待

    In 异步 等待常见问题解答 http blogs msdn com b pfxteam archive 2012 04 12 10293335 aspx 斯蒂芬 图布 说 An 等待的是公开的任何类型GetAwaiter返回有效的方法aw
  • 使用字符串动态创建 (LLBLGen) Linq 查询

    我们需要生成在编码期间 设计时 100 未知的 LINQ 查询 这是因为我们的框架中的逻辑可用 该框架与任何数据项目 100 分离 对于数据 我们使用 LLBLGen 生成的数据访问代码 通常 通过使用 DLL 上的调用 我们向框架指定 而