gpt4 book ai didi

servicestack - 使用响应 DTO 时,Autquery 不包括嵌套结果

转载 作者:行者123 更新时间:2023-12-04 07:28:00 24 4
gpt4 key购买 nike

假设您有这些模型:

public class Blog
{
[PrimaryKey]
[AutoIncrement]
public int Id { get; set; }
public string Url { get; set; }
public string PrivateField { get; set; }
[Reference]
public List<BlogToBlogCategory> BlogToBlogCategories { get; set; }
}

public class BlogResponse
{
public int Id { get; set; }
public string Url { get; set; }
public List<BlogToBlogCategory> BlogToBlogCategories { get; set; }
}
而这个请求:
public class BlogsLookUpRequest : QueryDb<Blog, BlogResponse>
{

}
返回值会有 BlogToBlogCategories为空,但这个请求:
public class BlogsLookUpRequest : QueryDb<Blog>
{

}
会有 BlogToBlogCategories人口稠密。我可以像这样使用自定义实现手动创建查询响应:
var q = _autoQuery.CreateQuery(request, Request.GetRequestParams(), base.Request);
var results = _autoQuery.Execute(request,q, base.Request);
return new QueryResponse<ResponseBlog>()
{
Results = results.Results.ConvertTo<List<ResponseBlog>>(),
Offset = request.Skip,
Total = results.Total
};
然后它将有嵌套的结果。如果我用 [Reference] 来装饰收藏然后它试图在不存在的 BlogResponse 上找到外键 table 。
为什么在使用 AutoQuery 指定返回模型时会删除引用的结果?有没有办法标记它以便它起作用?

最佳答案

POCO Reference Types用于填充数据模型而不是临时响应 DTO。
在这种情况下,它试图解析一个不存在的表上的引用,您可以使用 [Alias] 指定 DTO 映射到哪个表。属性,例如:

[Alias(nameof(Blog))]
public class BlogResponse
{
public int Id { get; set; }
public string Url { get; set; }
public List<BlogToBlogCategory> BlogToBlogCategories { get; set; }
}

关于servicestack - 使用响应 DTO 时,Autquery 不包括嵌套结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68117848/

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