我正在尝试这种代码优先的方法,但我现在发现System.Decimal类型的属性被映射到decimal(18,0)类型的sql列.
如何设置数据库列的精度?
我的型号:
public class Product
{
...
public decimal Fineness { get; set; }
...
}
Run Code Online (Sandbox Code Playgroud)
播种数据库:
new List<Product>
{
new Product { ..., Fineness = 0.757M, ... },
new Product { ..., Fineness = 0.674M, ... },
new Product { ..., Fineness = 0.475M, ... }
}.ForEach(p => context.Products.Add(p));
Run Code Online (Sandbox Code Playgroud)
查询数据库以测试种子:
var products = db.Products.ToList();
foreach (var p in products)
{
S.D.Debug.WriteLine("ProductList: {0}, {1}", p.Name, p.Fineness);
}
Run Code Online (Sandbox Code Playgroud)
控制台输出:
ProductList: Test Product, 0.75
ProductList: Test Product, 0.67
ProductList: Test Product, 0.47
Run Code Online (Sandbox Code Playgroud)
我做的事真的很傻或者什么?一切都被截断到2位小数. …