Doğru olarak '2.87' değerinin servise geldiğini ve EF diyagramına göre 'Puan' alanının türü 'Ondalık' olduğunu kabul ettim ... Ama veritabanında sadece '2' yazıyorVarlık Çerçevem neden '2.87' değerini '2' (ondalık alan) haline getiriyor?
Ölçeklendirmeyi ondalık alana ayarlamanız gerekir.[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
Bunu Entity Designer'da ayarlayabileceğim bir yöntem var mı? – punkouter
@punkouter İntibak Çerçevesinde – Mark
Ölçeğini ayarlayabildiğiniz bir resim ile yayınımı düzenledim. Daha önce bunu buldum .. ve hiçbirini tıklayıp üzerine tıkladım ve hiçbir şey görmedim .. sonra denedim (18,2) ve işe yaramadı .. ama tamam .. şimdi anladım. Teşekkürler. – punkouter