繁体   English   中英

如何将此 SQL 代码转换为 LINQ 格式?

[英]How can I convert this SQL code into LINQ format?

这是我的 SQL 表

CREATE TABLE PlayerXP 
(
    id_partida INT NOT NULL IDENTITY(1, 1) PRIMARY KEY,
    ganhoxp    NVARCHAR(5) NOT NULL,
    duracao    VARCHAR(5) NOT NULL,
)

此代码为 linq 格式

SELECT
    SUM (60 * CONVERT(int, LEFT( duracao, 2)) +
         CONVERT(int, RIGHT(duracao, 2))) AS TotalSegundos
FROM PlayerXP;

duracao列的格式为分钟/秒 ( mm:ss )

假设该表是一个业务实体:

public class PlayerXP 
{
 public int id_partida;
 public string ganhoxp;
 public string duracao;
}

有对象

PlayerXP playerxp = new PlayerXP()

并且如果该业务实体类的对象中的duracao值是

playerxp.duracao = "12:60"

然后,试试这个:

int TotalSegundos = (playerxp.duracao.Split(":")
                              .Select(x => Int32.Parse(x, CultureInfo.InvariantCulture))
                              .First() * 60) + playerxp.duracao.Split(":")
                                                      .Select(x => Int32.Parse(x, CultureInfo.InvariantCulture))
                                                      .Last();

我得到的TotalSegundos值是780

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM