首页 新闻 会员 周边 捐助

net core EF 使用 FromSql 的问题 (fw中Context.Database.SqlQuery)

0
[已解决问题] 解决于 2018-06-29 15:10

其实是一个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

死神的背影的主页 死神的背影 | 小虾三级 | 园豆:667
提问于:2018-06-14 11:45
< >
分享
最佳答案
0

试试 EF Core 2.1 引入的 Query Types,如果问题还是不能解决,建议使用 Dapper

奖励园豆:5
dudu | 高人七级 |园豆:30757 | 2018-06-14 14:09

对哦, dapper 给忘了, QueryType 得抽时间研究一下才行

死神的背影 | 园豆:667 (小虾三级) | 2018-06-29 15:10
其他回答(1)
0

对于这种情况,你可以拿出 Database里面的Connection,然后你还记得 Ado.net 里面的command 怎么写吧?

爱编程的大叔 | 园豆:30844 (高人七级) | 2018-06-14 11:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册