C# 如何将此SQL代码转换为LINQ格式?
这是我的SQL表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
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中,它从数据库中获取数据并显示在表单上。非常感谢你的帮助,我测试了它,它成功了。如果你们都接受了它,并且觉得它有用,请你投票给我好吗?谢谢,伙计,没问题