Moja Model:Niechciane dziesiętny Obcinanie
public class Product
{
...
public decimal Fineness { get; set; }
...
}
Siew bazie danych:
new List<Product>
{
new Product { ..., Fineness = 0.757M, ... },
new Product { ..., Fineness = 0.674M, ... },
new Product { ..., Fineness = 0.475M, ... }
}.ForEach(p => context.Products.Add(p));
przeglądając bazę danych w celu przetestowania wysiewu:
var products = db.Products.ToList();
foreach (var p in products)
{
S.D.Debug.WriteLine("ProductList: {0}, {1}", p.Name, p.Fineness);
}
konsoli wyjściowa:
ProductList: Test Product, 0.75
ProductList: Test Product, 0.67
ProductList: Test Product, 0.47
Czy robię coś naprawdę głupiego czy coś? Wszystko jest obcinane do 2 miejsc po przecinku.
Solution - Dzięki Patrick:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Product>().Property(x => x.Fineness).HasPrecision(10, 5);
}
Czy skonfigurowałeś precyzję w Entity Framework? –
@PatrickMagee - dostałem rozwiązanie. Dziękuję Ci. Zobacz aktualizację, o którą chodzi. – Gravy
@Gravy Należy poprosić Patricka Magee, aby opublikował to jako odpowiedź, abyś mógł to zaakceptować;) –