gpt4 book ai didi

sql - 为什么我的 Entity Framework 将 '2.87' 变成了 '2'(十进制字段)?

转载 作者:行者123 更新时间:2023-12-04 16:21:42 27 4
gpt4 key购买 nike

我验证了正确的值 '2.87' 正在进入服务......并且根据 EF 图表,'Score' 字段的类型是'Decimal'......但在数据库中它只是说'2'

   [OperationContract]
public void AddHighScore(string strName, decimal dScore, int iLevel)
{
using (SQL2008R2_789485_punkouterEntities1 dc = new SQL2008R2_789485_punkouterEntities1())
{
HighScore oHighScore = new HighScore();
oHighScore.Level = iLevel;
oHighScore.Name = strName;
//oHighScore.Name = dScore.ToString();
oHighScore.Score = dScore;
dc.AddToHighScores(oHighScore);
dc.SaveChanges();
}
}


-- --------------------------------------------------
-- Creating all tables
-- --------------------------------------------------

-- Creating table 'HighScores'
CREATE TABLE [dbo].[HighScores] (
[Id] int IDENTITY(1,1) NOT NULL,
[Name] nvarchar(max) NOT NULL,
[Score] decimal(18,0) NOT NULL,
[Level] int NOT NULL
);
GO

最佳答案

您需要在小数字段上设置比例。将分数字段更改为十进制(18,2)

See Decimal help File on MSDN

您可以通过首先选择该字段在 EF 中设置比例,然后在属性窗口中您将看到比例的属性(见图)

enter image description here

关于sql - 为什么我的 Entity Framework 将 '2.87' 变成了 '2'(十进制字段)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5551790/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com