gpt4 book ai didi

c# - 将返回匿名类型的查询转换为 ObjectQuery

转载 作者:行者123 更新时间:2023-11-30 15:04:49 24 4
gpt4 key购买 nike

这是 linq to sql,不是 Entity Framework

我正在尝试对返回匿名类型的查询调用 ToStraceString,但我对 ObjectQuery 的转换失败了。

是否有其他方法可以将此查询转换为 ObjectQuery,或者是否有其他方法可以在不启动 SQL Server 跟踪的情况下获取生成的 T-SQL?

        var junk = db.SiteProducts
.Where(p => p.SiteProductId == SiteProductId)
.Select(p => new
{
p.SiteProductId,
ItemSku = p.ItemMaster != null ? p.ItemMaster.ItemSku : "",
p.AdminDisplayName,
p.CurrentInventory,
p.IsFreeGift,
p.SiteDivisionId,
p.PrimaryParentSiteCategoryId,
p.UsesVariantAttributes,
UsesOmsPz = p.ItemMaster != null ? p.ItemMaster.OmsPzTemplateId.HasValue : false,
p.HasDetailPage,

div = p.SiteDivision.AdminDisplayName,
domain = p.Site.PrimaryDomain
});


string str = ((System.Data.Objects.ObjectQuery)junk).ToTraceString();

最佳答案

对于 LINQ to SQL,您可以使用 DataContext.Log property ,或 DataContext.GetCommand method获取生成的 SQL:

var query = dc.Persons.Take(1);
string generatedSql = dc.GetCommand(query).CommandText;

此示例从 AdventureWorks 数据库返回以下 SQL:

SELECT TOP (1) [t0].[BusinessEntityID], [t0].[PersonType], [t0].[NameStyle], [t0].[Title], [t0].[FirstName], [t0].[MiddleName], [t0].[LastName], [t0].[Suffix], [t0].[EmailPromotion], [t0].[AdditionalContactInfo], [t0].[Demographics], [t0].[rowguid] AS [Rowguid], [t0].[ModifiedDate] FROM [Person].[Person] AS [t0]

关于c# - 将返回匿名类型的查询转换为 ObjectQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9724488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com