Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 将实体框架查询转换为SQL_Mysql_Sql_Entity Framework - Fatal编程技术网

Mysql 将实体框架查询转换为SQL

Mysql 将实体框架查询转换为SQL,mysql,sql,entity-framework,Mysql,Sql,Entity Framework,我有实体框架查询: var query = ctx.v_mp_akt .SelectMany(d => ctx.v_ma_akt , (a, b) => new {a, b}) .Where(x => x.b.MA_ID == x.a.MA_ID) .SelectMany(y => ctx.v_os_akt, (g, h) => new {g, h}) .Where(y => y.h.OS_ID == y.g.a.MP_FK_OS_ID_KOMU_W

我有实体框架查询:

var query = ctx.v_mp_akt
 .SelectMany(d => ctx.v_ma_akt  , (a, b) => new {a, b})
 .Where(x => x.b.MA_ID == x.a.MA_ID)
 .SelectMany(y => ctx.v_os_akt, (g, h) => new {g, h})
 .Where(y => y.h.OS_ID == y.g.a.MP_FK_OS_ID_KOMU_WYDANO)
 .Select(x=> new
 {
  x.g.b.KT_ETYKIETA,
  x.g.a.MA_LP,
  x.g.b.MA_DATA_REJESTRACJI,
  x.g.b.MA_INF_O_ZMIANIE_KLAUZULI,
  x.g.a.MP_NR_RTD_TECZKI,
  x.h.OS_ETYKIETA,
  x.g.a.MP_FK_KO_ID_WLASCICIEL_MP,
  x.g.a.JR_NAZWA
 });
我不知道如何将此查询转换为纯MySQL查询代码。我不太擅长MySQL语法

这会导致语法错误:

select 
       b.KT_ETYKIETA, 
       a.MA_LP, 
       b.MA_DATA_REJESTRACJI, 
       b.MA_INF_O_ZMIANIE_KLAUZULI, 
       a.MP_NR_RTD_TECZKI, 
       h.OS_ETYKIETA, 
       a.MP_FK_KO_ID_WLASCICIEL_MP, 
       a.JR_NAZWA
from
       v_ma_akt b  where b.MA_ID = a.MA_ID,
       v_os_akt h where h.OS_ID = a.MP_FK_OS_ID_KOMU_WYDANO,
       v_mp_akt a

你能提供一些关于MySQL应该是什么样子的提示吗?

使用EF向你展示生成的SQL。尝试:

select 
       b.KT_ETYKIETA, 
       a.MA_LP, 
       b.MA_DATA_REJESTRACJI, 
       b.MA_INF_O_ZMIANIE_KLAUZULI, 
       a.MP_NR_RTD_TECZKI, 
       h.OS_ETYKIETA, 
       a.MP_FK_KO_ID_WLASCICIEL_MP, 
       a.JR_NAZWA
from v_mp_akt a
     INNER JOIN v_ma_akt b  ON b.MA_ID = a.MA_ID
     INNER JOIN v_os_akt h ON h.OS_ID = a.MP_FK_OS_ID_KOMU_WYDANO
query.ToTraceString();

这不是一个好的解决方案-那里有很多混乱,我需要最佳的解决方案,我建议你更新你的问题然后。你问如何翻译SQL,而不是如何优化它。HMM我不能调用这个:SQL错误:排序内存之外,考虑增加服务器排序缓冲区大小。但实体框架查询在同一台服务器上运行时没有任何问题。有什么问题吗?您可以尝试挂接以查看生成的查询。