1
2
在ormlite中使用运行时类型的支持非常有限。 见 OrmLite's Untyped API Support 让你有机会 Insert, Update and Delete APIs 当处理运行时类型时。 但是select需要指定要选择的具体类型,即您可以使用以下命令选择基类:
但结果只会填充
一个可能的解决方案是使用 Dynamic Dictionary ResultSets API 要将结果选择到对象词典列表中,例如:
然后使用 FromObjectDictionary Reflection Utils 要将其转换为后期绑定类型,例如:
引用来源
如果你要引用某人的话,请这样做 逐字 包括一个链接到你引用的来源,因为这是对我所说的歪曲。 你很可能引用了我的答案强烈推荐 against using inheritance and base type properties and unknown late-bound types like interfaces and objects in DTOs 是的。这是为了避免耦合到特定的序列化实现,并且是运行时序列化问题的主要来源,这与创建定义良好的可互操作服务的目标背道而驰。您可以避免使用此指导,但您的服务将只与特定的序列化程序实现一起工作,在不同语言中失败,并且元数据支持有限,因为它们将无法使用未知类型静态推断服务契约中的漏洞。 但这句话与ormlite中的继承没有任何关系,在ormlite中,您的poco可以愉快地拥有任何级别的继承。问题是,您正试图查询一个未知的后期绑定类型,其中as ormlite是一个代码优先的orm,具有类型化api,需要访问具体类型才能支持其类型化表达式api并填充其类型化结果。我上面的回答包括ormlite对非类型访问的有限支持。 |
mylvgth · ServiceStack Razor响应筛选器 6 年前 |
tika · 承载令牌和刷新令牌有什么区别? 7 年前 |
J. Minjire · 检测重复http请求的最有效方法 7 年前 |