根据数据库端的真实类型对存储为字符串的值进行排序

问题描述 投票:0回答:0

我有一个遗留表(不是数据库表)数据库结构 enter image description here

每一行的值与列的数量一样多。 Value values 存储为字符串,可以包含不同类型的值,如文本、int、datetime 作为 string 所有现有值都不为空或为空。日期格式始终相同。 enter image description here

我知道这是一个奇怪的架构,但我不允许更改它。

我需要使用 linq to entities for mssql 和 postgre 在数据库端根据它们的值和它们的真实类型对行进行排序。 F.ex 如果字符串包含日期,则应将其排序为日期而不是文本。

我已经管理了行过滤,但不知道如何对它们进行排序

我试过使用 orderby+case+cast 但你不能在一个 OrderBy 中转换为不同的类型。只能将不同的类型转换为一个。

c# sql-server postgresql linq-to-sql ef-core-3.1
© www.soinside.com 2019 - 2024. All rights reserved.