首页 新闻 搜索 专区 学院

entityframeworkcore sql语句连表查询

0
悬赏园豆:20 [已关闭问题] 关闭于 2016-09-26 12:48

entityframeworkcore     sql语句连表查询    

丁松松松的主页 丁松松松 | 初学一级 | 园豆:112
提问于:2016-09-14 14:24
< >
分享
所有回答(2)
0
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 { //这里写点啥,地球人都知道。。。 }  

你是要这个吗?

不负春光,努力生长 | 园豆:1382 (小虾三级) | 2016-09-16 15:54

我要的是sql语句不是linq,在entityframework core中我只找到了sqlcommand,sqlquery 需要自己写 

支持(0) 反对(0) 丁松松松 | 园豆:112 (初学一级) | 2016-09-17 10:13

我现在在用他的command服务得到datareader,一行行read然后在序列化,有没有其他好的方法可以用呢

 

支持(0) 反对(0) 丁松松松 | 园豆:112 (初学一级) | 2016-09-17 10:15

@丁松松松: 

如果是SQL查询,关联表查询的语法网上一大堆,都是基础语法,配合轻量级的ORM Dapper查询,直接映射到实体,速度很快

支持(0) 反对(0) 不负春光,努力生长 | 园豆:1382 (小虾三级) | 2016-09-17 19:41

@丁松松松: http://www.cnblogs.com/still-windows7/archive/2012/10/22/2734613.html

支持(0) 反对(1) 不负春光,努力生长 | 园豆:1382 (小虾三级) | 2016-09-17 19:42

@不负春光,努力生长:我要的 是在 entityframework core 之上的 最好 

支持(0) 反对(0) 丁松松松 | 园豆:112 (初学一级) | 2016-09-18 09:00

@不负春光,努力生长: 我要的是  entityframework core raw sql 查询        ,entityframework 6中  有 sqlquery(str,params)    在 entityframework core 中 有没有好的方法可以直接调用

支持(0) 反对(0) 丁松松松 | 园豆:112 (初学一级) | 2016-09-18 09:02
0

啥意思?你是想用ef直接执行sql?

看你上面的回复,你想要sql,那跟ef有啥关系???

顾晓北 | 园豆:10653 (专家六级) | 2016-09-18 14:52

  在 ef 6 中  有方法  dbcontext.Datateble.SqlQuery<TModel>(string sql ,param DbParameter[] ps)      来获取数据库数据  并且添加到 集合中  ,我 我问问  在 ef core 中 有没有对应方法  ,我现在在 ef core 中的做法是  自己写个 扩展方法  在里面 获取 DbCommand  然后 read  然后 反射 添加到集合中

支持(0) 反对(0) 丁松松松 | 园豆:112 (初学一级) | 2016-09-18 14:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册