其实是一个fw 迁移过来的问题,ef core 执行sql 查询, 以前是
Context.Database.SqlQuery<xxx>(sql) 这样,现在变成Context.Set<xxx>().FromSql(sql) ,现在的 xxx 必须是 class,以前没限定,如果是 decimal 这样的结构体,现在这 不work了。
老代码里边 通过 Context.Database.SqlQuery<decimal> 去算一些sum值并返回,现在core 里边不支持 decimal 这样的结构体类型查询结果,如果都用 class 去包装一下,改动面 太大了,又要改SQL 加列命名,又要改所有的返回值处理,有没有相对改动面小一些的方法?
framework:Context.Database.SqlQuery<decimal>(sql)
net core:Context.Set<decimal>().FromSql(sql) //decimal 报错,set里边必须是class
对于这种情况,你可以拿出 Database里面的Connection,然后你还记得 Ado.net 里面的command 怎么写吧?