如何将字符串解析为 UNIQUEIDENTIFIER?

2024-05-14

我正在编写一个实体框架 LINQ 查询,其中我想将字符串解析为 UNIQUEIDENTIFIER (又名 GUID)作为WHERE clause:

public IEnumerable<User> Find(Guid guid)
{
    return dbContext
        .Users
        .Where(user => Guid.Parse(user.GuidText) == guid);
}

我知道这在 SQL 中是可能的,因为我已经测试过它:

SELECT *
FROM Users
WHERE CAST(GuidText AS UNIQUEIDENTIFIER) = @guid;

但是我还没有找到生成的方法CAST部分。我试过了:

  1. (Guid)user.GuidText,这会生成编译器错误。
  2. Convert.ToGuid(user.GuidText),但这个方法不存在。
  3. Guid.Parse(user.GuidText),但这会导致实体框架在转换 LINQ 查询时生成错误。
  4. new Guid(user.GuidText),但这会导致实体框架在转换 LINQ 查询时生成错误。
  5. (Guid)Convert.ChangeType(user.GuidText, typeof(Guid)),但这会导致实体框架在转换 LINQ 查询时生成错误。
  6. SqlGuid.Parse(user.GuidText),但这会导致实体框架在转换 LINQ 查询时生成错误。

我怎样才能实现这个目标?作为最后的手段,我愿意在代码中嵌入 SQL。


如果您有充分的理由进行转换 - 您可以根据您的用户表创建一个视图并将您的 GUIDE 文本转换为 UNIQUEIDENTIFIER

SELECT ..., CAST(GuidText AS UNIQUEIDENTIFIER), ...

与在代码中引用视图相比,您应该能够在不进行强制转换的情况下进行比较

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

如何将字符串解析为 UNIQUEIDENTIFIER? 的相关文章

随机推荐

  • F# 和模糊逻辑

    我知道这可能听起来很奇怪 但我想知道 Microsoft Visual F 正在进入的这个新世界中的一件事 这种语言有很多应用 我要学习 关于解析 函数式编程 结构化编程 但是人工智能呢 模糊逻辑有什么应用吗 F 是一种适合模糊逻辑应用程序
  • 如何让“grep”从文件中读取模式?

    假设有一个很大的文本文件 我只想打印与某些模式不匹配的行 显然 我可以使用egrep v patter1 pattern2 pattern3 现在 如果所有这些模式都在一个文本文件中怎么办 最好的制作方法是什么egrep从文件中读取模式 g
  • 有没有办法根据渲染的字符串创建 DOM 对象?

    有没有办法从整个字符串而不只是innerHTML 创建DOM 对象 我有一个完整呈现的 DOM 形式的字符串
  • Firebase Auth - 最近登录多长时间

    我有一个个人资料选项卡 用户可以在其中按编辑并编辑他们的个人资料 我只想在必要时才需要他们的密码 所以想知道用户登录的时间是多少毫秒 这使得它不是最近登录 其中firebase会抛出错误 auth requires recent login
  • vite 文件名中不带哈希值

    我正在尝试编译一个基于 monaco 编辑器的 web 组件 在 lit 元素上下文中 尝试了很多选项后 我现在将结果缩减为两个文件 rmx monaco abc123 js style css 我的首要任务是摆脱哈希 abc123 但我也
  • 可为空的日期时间

    我有 1 个不可为空的日期时间字段和 1 个可为空的日期时间字段 我可以将以下代码与不可为空的代码一起使用 c StartDate Day ToString c StartDate Month ToString c StartDate Ye
  • 未找到命令“ember”

    看来我搞砸了 ember cli 安装 我已经使用 sudo 安装了 npm 但是在阅读了 npm 上 ember cli 和 sudo 的一些问题后 我按照此处的说明卸载并重新安装https gist github com isaacs
  • 为什么用scala写的代码比用java写的慢6倍?

    我不确定我在编写 scala 代码时是否犯了一些错误 问题是 The four adjacent digits in the 1000 digit number that have the greatest product are 9 9
  • TYPO3 显示子页面的内容,包括 css 类

    使用以下打字稿 我从一页上的子页面获取所有内容 lib allPid COA lib allPid 10 HMENU 10 special directory special value 2 1 TMENU 1 expAll 1 NO do
  • 未装饰窗户的 Windows Snap 功能?

    有谁知道如何允许未装饰的窗户使用此功能 唯一的选择就是重新实施它 有任何想法吗 谢谢 可停靠可能是唯一的JToolBar http docs oracle com javase tutorial uiswing components too
  • .NET 迭代器包装抛出 API

    我有一个带有 API 的类 它允许我请求对象 直到它抛出一个IndexOutOfBoundsException 我想将它包装到一个迭代器中 以便能够编写更清晰的代码 但是 我需要捕获异常以停止迭代 static IEnumerable It
  • 当 Delphi 处于覆盖模式时,如何更改它的光标形状?

    当使用 Delphi 的任何版本时 我有时会碰巧按下插入键并打开覆盖模式 这通常是一个很大的麻烦 并且您进入覆盖模式的唯一指示是编辑器底部的小文本 当使用其他程序 首先想到的是 Notepad 时 当您处于插入模式时 文本光标是 当您处于覆
  • ASP.NET Web Api 2 中的异常处理

    Problem 我需要处理 Web api 2 异常并返回一个具有正确状态代码的丰富对象 401 表示未经授权 404 表示 ContentNotFound 等 以及一些额外信息作为内容 此外 我需要内容看起来像序列化的Exception对
  • Java中Gson、JsonElement、String比较

    好吧 我想知道这可能非常简单和愚蠢 但在与这种情况作斗争一段时间后 我不知道发生了什么 我正在使用 Gson 来处理一些 JSON 元素 在我的代码中的某个位置 我将 JsonObject 的 JsonElements 之一作为字符串获取
  • 允许点击 twitter bootstrap 下拉切换链接吗?

    我们已经设置了 Twitter 引导下拉菜单以在悬停时工作 而不是单击 是的 我们知道触摸设备上没有悬停 但我们希望当我们单击主链接时能够使其正常工作 默认情况下 twitter bootstrap 会阻止它 那么我们如何重新启用它呢 只需
  • 不使用 PHP 提交联系表单

    我还是一名学生 今天我们的讲师告诉我们 无需使用 mailto 函数即可提交联系我们表单的唯一方法是使用 PHP 我发誓去年另一位讲师向我们展示了一种仅使用 javascript 的方法 是否可以使用基本表单和 javascript 提交反
  • 如何将 numpy rearray 的子集转换为连续数组?

    我有一个recarray来自读取 csv 文件 我有兴趣将列的子集转换为连续浮点数组 我想避免将它们转换为列表或将它们一一堆叠 我尝试了中的建议https stackoverflow com a 11792956 https stackov
  • Google电子表格脚本创建特定范围内的数据验证

    我正在尝试这个脚本来创建数据验证 但它总是不起作用 function test validation var Spread SpreadsheetApp getActiveSpreadsheet var Sheet Spread getSh
  • 更新 anaconda navigator 中的软件包时出现问题

    我无法更新 anaconda navigator 中的软件包 程序 1 更新索引 2 标记我要更新的包 3 点击应用 过了一会儿 窗口仍然是空的 什么也没有发生 见图 我已经从计算机中完全删除了 anaconda 并重新安装了它 问题仍然存
  • 如何将字符串解析为 UNIQUEIDENTIFIER?

    我正在编写一个实体框架 LINQ 查询 其中我想将字符串解析为 UNIQUEIDENTIFIER 又名 GUID 作为WHERE clause public IEnumerable