Não foi possível converter a consulta MySQL para LINQ
Eu já assisti issosolução mas ainda assim, minha pergunta é a mesma. Não consigo converter meuMySQL
consulta paraLINQ
. estou usandoLinqPad
por isso. Eu criei uma conexão. Executei minha consulta e obtive o resultado. Mas olambda
seção está vazia.
SELECT *
FROM (
SELECT
@row := @row +1 AS rownum, zdjh,sjsj ,xhqd
FROM (
SELECT @row :=0) r, `tj_xhqd` ORDER BY sjsj
) ranked
WHERE rownum % 24= 0 AND zdjh = '002999001180' AND sjsj>='2018-02-24 08:38:11'
Eu quero converter isso paraLINQ
. O nome do modelo ékesc
Atualização 1
Eu tentei converter meuMySQL
paraLINQ
.
var mainDetails = kesc.tj_xhqd.Where(m => (m.zdjh == msn) && (m.sjsj >= dt)).AsEnumerable()
.Select((x, i) => new { MSN = x.zdjh, PingDateTime = x.sjsj, PingValue = x.xhqd, i = i })
.Where(x => x.i % interval == 0)
.ToList();
e a saída é
{
"details": [
{
"MSN": "002999001180",
"PingDateTime": "2018-05-16T18:39:52",
"PingValue": "19",
"i": 0
},
{
"MSN": "002999001180",
"PingDateTime": "2018-05-16T18:39:52",
"PingValue": "19",
"i": 24
},
{
"MSN": "002999001180",
"PingDateTime": "2018-05-16T18:39:52",
"PingValue": "19",
"i": 48
},
{
"MSN": "002999001180",
"PingDateTime": "2018-05-16T18:39:52",
"PingValue": "19",
"i": 72
},
{
"MSN": "002999001180",
"PingDateTime": "2018-05-16T18:39:52",
"PingValue": "19",
"i": 96
},
.
.
.
.
.
{
"MSN": "002999001180",
"PingDateTime": "2018-05-16T18:39:52",
"PingValue": "19",
"i": 144
},
]
}
return Request.CreateResponse(HttpStatusCode.OK, new { details = mainDetails });
A saída contém vários registros para os mesmos dados. Na realidade, existe apenas um registro para2018-05-16T18:39:52
.
Qualquer ajuda seria muito apreciada.