list = from t1 in Content.table1 join t2 in Content.table2 on t1.colum1 equals t2.colum2 into r1 from t2 in r1.DefaultIfEmpty() join t3 in Content.table3 on new { pid = t2.colum2, sid = t2.colum1, t2.colum3 } //字段类型或值不一致时, equals new { pid = t3.colum2 ?? 0, sid = t3.colum3 + 1, t3.colum4 } //可以这样统一起来 into r2 from t3 in r2.DefaultIfEmpty() join t4 in Content.table4 on t2.colum5 equals t4.colum1 where t2.id == paramId && string.IsNullOrEmpty(t1.colum2) select new your-result-class-name { //这里写点啥,地球人都知道。。。 }
你是要这个吗?
我要的是sql语句不是linq,在entityframework core中我只找到了sqlcommand,sqlquery 需要自己写
我现在在用他的command服务得到datareader,一行行read然后在序列化,有没有其他好的方法可以用呢
@丁松松松:
如果是SQL查询,关联表查询的语法网上一大堆,都是基础语法,配合轻量级的ORM Dapper查询,直接映射到实体,速度很快
@丁松松松: http://www.cnblogs.com/still-windows7/archive/2012/10/22/2734613.html
@不负春光,努力生长:我要的 是在 entityframework core 之上的 最好
@不负春光,努力生长: 我要的是 entityframework core raw sql 查询 ,entityframework 6中 有 sqlquery(str,params) 在 entityframework core 中 有没有好的方法可以直接调用
啥意思?你是想用ef直接执行sql?
看你上面的回复,你想要sql,那跟ef有啥关系???
在 ef 6 中 有方法 dbcontext.Datateble.SqlQuery<TModel>(string sql ,param DbParameter[] ps) 来获取数据库数据 并且添加到 集合中 ,我 我问问 在 ef core 中 有没有对应方法 ,我现在在 ef core 中的做法是 自己写个 扩展方法 在里面 获取 DbCommand 然后 read 然后 反射 添加到集合中