You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用C#查询Microsoft Dynamics 365中GUID对应的实体名称

GUID归属实体查询方法

以下是不同场景下的查询操作步骤:

Windows系统本地/域环境查询

  • 打开PowerShell,执行对应命令检索:
    如果你要查询的是AD域内的对象,直接运行:
    Get-ADObject -Filter {ObjectGUID -eq "7487cd8b-a0a2-eb11-b81e-005056a460ec"} | Select-Object Name, ObjectClass
    
    返回结果里的ObjectClass就是实体类型,Name就是实体名称。
  • 如果是本地WMI对象,可以遍历常见对象类匹配GUID,示例命令:
    Get-WmiObject -List | ForEach-Object { Get-WmiObject -Class $_.Name -Filter "GUID='7487cd8b-a0a2-eb11-b81e-005056a460ec'" -ErrorAction SilentlyContinue } | Select-Object __CLASS, Name
    

Dynamics 365/Dataverse环境查询

  • 进入环境的高级查找界面,构造Web API查询路径即可查询,路径格式为[你的环境地址]/api/data/v9.2/$metadata#$filter=Microsoft.Dynamics.CRM.MetadataEntityId eq (guid'7487cd8b-a0a2-eb11-b81e-005056a460ec'),返回结果里的LogicalName和DisplayName就是对应实体的信息。
  • 也可以用XrmToolBox的元数据搜索工具,直接输入GUID检索对应实体。

通用数据库存储场景查询

如果该GUID存储在业务数据库中,你可以通过遍历所有表的GUID类型字段匹配查询,SQL Server示例脚本:

DECLARE @TargetGUID UNIQUEIDENTIFIER = '7487cd8b-a0a2-eb11-b81e-005056a460ec'
DECLARE @TableName NVARCHAR(128), @ColumnName NVARCHAR(128), @Sql NVARCHAR(MAX)

DECLARE GuidCursor CURSOR FOR
SELECT t.name, c.name FROM sys.tables t
JOIN sys.columns c ON t.object_id = c.object_id
WHERE c.system_type_id = 36 -- uniqueidentifier类型字段ID

OPEN GuidCursor
FETCH NEXT FROM GuidCursor INTO @TableName, @ColumnName

WHILE @@FETCH_STATUS = 0
BEGIN
    SET @Sql = 'IF EXISTS (SELECT 1 FROM ' + QUOTENAME(@TableName) + ' WHERE ' + QUOTENAME(@ColumnName) + ' = @TargetGUID) PRINT ''匹配到表:' + @TableName + ',字段:' + @ColumnName + ''''
    EXEC sp_executesql @Sql, N'@TargetGUID UNIQUEIDENTIFIER', @TargetGUID
    FETCH NEXT FROM GuidCursor INTO @TableName, @ColumnName
END

CLOSE GuidCursor
DEALLOCATE GuidCursor

注意:该脚本会遍历全库所有GUID字段,大库环境建议在业务低峰期运行,避免影响性能。

内容的提问来源于stack exchange,提问作者Davood Ramezani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 05:00:00