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

C# 如何将此SQL代码转换为LINQ格式?,c#,sql,linq,sum,C#,Sql,Linq,Sum,这是我的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)) + CONVER

这是我的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

也许我的值可以帮助你。我是编程初学者,我还在学习Linq,所以很难有基础来编写自己的代码,单独学习,SQL已经有了一些领域。但是我肯定会看更多的文档,通过更多的研究,我发现了另一个方法(),它也可以工作,从我的DataGridView中,它从数据库中获取数据并显示在表单上。非常感谢你的帮助,我测试了它,它成功了。如果你们都接受了它,并且觉得它有用,请你投票给我好吗?谢谢,伙计,没问题