问题标签 [servicestack-autoquery]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
18 浏览

servicestack-autoquery - How do I get second level public properties in ServiceStack

I have the following POCOs in my service model:

When I use AutoQuery RDBMS to get Personnel I want to be able to get e.g. Personnel._Postings[1]._Position.Title.

How do I get the Position object which is a second level public property to Personnel using ServiceStack AutoQuery RDBMS? Please help.

0 投票
1 回答
38 浏览

servicestack-autoquery - 合成字段上的 ServiceStack AutoQuery 崩溃

这是对以下内容的跟进:ServiceStack AutoQuery 合成字段

最新 5.x 版本的 SS 和 .Net Core 上的 .NET Core 空 Web 模板。

我正在尝试创建一个 AutoQuery 服务,我可以用一些合成字段(即不是来自数据库的字段)来装饰它。所以我得到了这个带有以下数据传输对象的 AutoQuery 服务:

当我不包括public string Hello它时,一切正常。该服务本身只是一个在线服务:

这是我得到的错误:

Offset0Total0Response Status Error CodeInvalidOperationExceptionMessageSequence contains no matching elementStack Trace[QueryDatasources: 22/03/2019 17:47:41]: [REQUEST: {}] System.InvalidOperationException: Sequence contains no matching element at System.Linq.Enumerable.First[TSource](IEnumerable'1 source, Func'2 predicate) at ServiceStack.OrmLite.OrmLiteDialectProviderBase'1.GetLoadChildrenSubSelect[From](SqlExpression'1 expr) in C:\BuildAgent\work\27e4cc16641be8c0\src\ServiceStack.OrmLite\OrmLiteDialectProviderBase.cs:line 1616 at ServiceStack.OrmLite.SqlServer.SqlServerOrmLiteDialectProvider.GetLoadChildrenSubSelect[From](SqlExpression'1 expr) in C:\BuildAgent\work\27e4cc16641be8c0\src\ServiceStack.OrmLite.SqlServer\SqlServerOrmLiteDialectProvider.cs:line 587 at ServiceStack.OrmLite.Support.LoadList'2..ctor(IDbCommand dbCmd, SqlExpression'1 q) in C:\BuildAgent\work\27e4cc16641be8c0\src\ServiceStack.OrmLite\Support\LoadList.cs:line 46 at ServiceStack.OrmLite.OrmLiteReadCommandExtensions.LoadListWithReferences[Into,From](IDbCommand dbCmd, SqlExpression'1 expr, IEnumerable'1 include) in C:\BuildAgent\work\27e4cc16641be8c0\src\ServiceStack.OrmLite\OrmLiteReadCommandExtensions.cs:line 957 at ServiceStack.OrmLite.OrmLiteExecFilter.Exec[T](IDbConnection dbConn, Func'2 filter) in C:\BuildAgent\work\27e4cc16641be8c0\src\ServiceStack.OrmLite\OrmLiteExecFilter.cs:line 64 at ServiceStack.TypedQuery'2.Execute[Into](IDbConnection db, ISqlExpression query) in C:\BuildAgent\work\3481147c480f4a2f\src\ServiceStack.Server\AutoQueryFeature.cs:line 1089

0 投票
1 回答
131 浏览

c# - 使用 servicestack 自动查询时的 DateTime 属性问题

感谢 Mythz 提供了如此惊人而强大的框架。但是,我遇到了使用 servicestack 自动查询呈现像这样的“/Date(1543681261000-0000)/”而不是“2019-03-25T12:50:3000”的 DateTime 属性。我找不到任何相关文档。请帮我。

}

0 投票
1 回答
152 浏览

c# - 使用 Servicestack,在使用带有 ServiceSource 的 AutoQuery 时如何缓存结果集?

我正在尝试将 ServiceStack 的 AutoQuery 与服务源一起使用,但要么无法使缓存正常工作,要么误解了它应该如何工作。

我试图实现将查询功能添加到“边缘”微服务,该微服务调用提供完整数据列表的内部服务。

重现我的问题的最少代码:

Nuget 包:Mircosoft.AspNetCore.All (2.2.1) 和 ServiceStack (5.4.0)

因此,在控制台 (.NET Core 2.2) 中,上述代码将启动并侦听端口 5000。

如果我查询,我得到我的列表,它按预期限制了结果的数量,我也可以按预期跳过/采取。

但是,每次我调用服务方法时,结果都不会被缓存(这是我注册插件时指定的 - 缓存 5 分钟),如果我在服务方法中放置断点,“名称”列表是每次都重新创建。即使我向服务提出相同的请求,也会发生这种情况。

我希望能够缓存结果集(在内存中很好),并且只有在缓存过期时才点击服务方法。我在这里做错了什么(或误解)?

编辑

我曾经尝试过 Mythz 建议的代码......现在我根本没有任何自动查询功能可用。

0 投票
1 回答
44 浏览

servicestack - 使用 ServiceStack AutoQuery 时如何管理关注点分离

我在如何组织我的 AutoQuery 代码方面遇到了一些问题。我的项目结构目前看起来像:

使用此设置,ServiceModel 不了解逻辑模型。QueryDb<DbModel, DtoModel>正因为如此,如果不复制 ServiceModel 中的所有 DbModel 对象或在 ServiceModel 中添加对 Logic 的依赖项,我就无法进行请求查询。我也有自定义的 AutoQuery 服务实现,在这些实现中我希望能够利用在其他地方使用我的 DbModel 编写的代码。

有没有人有任何建议或相关例子?我觉得我错误地处理了这个问题,使它变得比需要的更复杂。谢谢。

0 投票
1 回答
64 浏览

asp.net-core - 对于 Asp.Net.Core,ServiceStack AutoQuery 为 Null,并且在 CreateQuery 处引发 NullReferenceException

我已经完成了 Plugins.Add(new AutoQueryFeature { MaxLimit = 100 }); 并在启动配置方法中使用它。

在此处输入图像描述

在此处输入图像描述

这是 dto 继承 QueryDb

在此处输入图像描述

我不断遇到 AutoQuery 为 null 并且在 AutoQuery.CreateQuery() 方法中抛出 NullReferenceException。并且 CallStacks 不能显示 ExternalCodes。通过参考 TechStacks 项目,我不知道哪里出了问题。

在此处输入图像描述

在此处输入图像描述

项目参考 ServiceStack.Core 5.7.0

我可以使用以下代码获取 AutoQuery。

在此处输入图像描述

0 投票
1 回答
40 浏览

servicestack - AutoQuery 能否返回单个项目(不是列表)

当我向 AutoQuery 添加类型时,使用:

然后我可以通过 Id 或 Name(或我要添加的 POCO 模板具有的任何其他属性)查询此对象。但是它总是返回项目列表。

能够获取单个项目(不是搜索结果)非常有用。

我就是这样做的:

对于所有新的 AutoQuery 和 AutoCRUD,在我看来“通过 URL 返回单个项目”也可以是自动的?

0 投票
1 回答
31 浏览

servicestack - 在 DTO 生成中更改自动查询返回类型

我想从我的自定义 AutoQuery 端点返回一个自定义类,该端点继承QueryResponse<T>但添加了一些额外的属性。

但是,如果我这样指定请求:

然后在 generated DTO for 中指定的返回类型client.post(req)QueryResponse<BlogDto>并且它根本不生成WritingAssignmentBlogLookUpResponse

我只需any要从我的打字稿服务中指定返回类型,还是有办法使类型匹配以便我可以强输入它?

0 投票
0 回答
27 浏览

servicestack - Servicestack orm lite 不会反序列化嵌套的 json 结构

我有一个 pgsql 视图,它返回记录列表。一个记录字段表示为 json 并反序列化为 property List<ClassA> ClassAItems。然而,反序列化在这个级别ClassAItems上也List<ClassB> ClassBItems不起作用。

如何使用 Autquery 或 OrmLite 来处理查询响应,以便 ClassAItems 中的项目将包含正确反序列化的 ClassBItems。

0 投票
1 回答
44 浏览

servicestack - 关于缺少属性的 ServiceStack AutoQuery 警告

当我查询 AutoQuery 服务(常规 GET 请求)时,我会在日志中收到警告,即使请求工作正常。对于 URL,警告如下所示:https://localhost:5001/employees?BirthDate%3E=1950-01-01

我创建了一个示例,使用 Northwind 数据库,我x mix northwind.sqlite从此处的官方示例中获得了 DTO:https ://github.com/ServiceStackApps/Northwind/blob/master/src/Northwind/Northwind.ServiceModel/Types/员工.cs

这种“错误警告”有点麻烦,因为没有任何问题,并且它会在我的日志中填满我需要忽略的警告。特别是因为我在日志中为 WARN+ERR 设置了警报。

我在这里工作示例:https ://github.com/specimen151/autoquerywarning