我确信正确的值'2.87'进入服务..并且符合EF图的'Score'字段的类型是'Decimal'...但是在数据库中它只是说'2'为什么我的实体框架将'2.87'变成'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
有一种方法可以在实体设计器中设置? – punkouter 2011-04-05 13:25:34
@punkouter我编辑我的张贴与图像,您可以设置在实体框架中的比例 – Mark 2011-04-05 13:38:51
我发现早些时候..它说没有,我点击它,什么也没看见..然后我试过(18,2),那没有工作..但确定..我现在得到它。谢谢。 – punkouter 2011-04-05 18:15:40