我一直在 EF 中进行查询,一切正常,但现在我在 db 2 字段中实际上是 CHAR .. 它们保存一个日期,但以数字的形式,在 SQL Management Studio 中我可以执行 date1 >= date2 for例如,我还可以检查我的数字是否在这两个日期之间。
它没有什么不寻常的,但基本上是一个代表日期的字段(数字随着日期的增长而增长)......
现在在 EF 中,当我尝试执行 >= 时,它指出您不能在字符串上执行此操作,可以理解它的 c#,所以我尝试执行 Convert.ToDecimal(date1) 但它给了我一个错误,说它不支持。
我没有更改数据库字段的选项,它们是一成不变的:-(
我让它工作的方式是请求详细信息并执行 .ToList 然后使用 .ToDecimal 并且它可以工作,但当然这是在内存中执行的!这破坏了 EF 的对象,例如使用 iqueryable 添加到查询中。
我让它工作的另一种方法是将 SQL 查询传递给 dbcontext 的 SqlQuery,但我又失去了很多 ef 功能。
任何人都可以帮忙吗?
我真的被困住了