给实体的某一属性设置默认值
model:
Weight为Product的一个可为空属性, 右击Weight,查看属性,Default Value中设置默认值。
代码
using
(EFDemoEntities context
=
new
EFDemoEntities())
{
Product product = new Product
{
ProductName = " 大鸭梨 " ,
UnitPrice = 3 ,
Color = " White "
};
context.Products.AddObject(product);
context.SaveChanges();
}
{
Product product = new Product
{
ProductName = " 大鸭梨 " ,
UnitPrice = 3 ,
Color = " White "
};
context.Products.AddObject(product);
context.SaveChanges();
}
结果如下:
查询时给为Null 的属性设置默认值
代码
//
Linq
using (var context = new EFDemoEntities())
{
Console.WriteLine( " Products: " );
var products = from p in context.Products
select new { ProductName = p.ProductName, Weight = p.Weight ?? 0 };
foreach (var product in products)
{
Console.WriteLine( " {0}, 重量: {1} " , product.ProductName, product.Weight);
}
}
// Esql
using (var context = new EFDemoEntities())
{
Console.WriteLine( " Products: " );
string esql = @" select
p.ProductName,
case when p.Weight is null then 0
else p.Weight
end as ProductWeight
from Products as p " ;
var products = context.CreateQuery < DbDataRecord > (esql);
foreach (var product in products)
{
Console.WriteLine( " {0}, 重量: {1} " , product.GetString( 0 ), product.GetDouble( 1 ));
}
}
using (var context = new EFDemoEntities())
{
Console.WriteLine( " Products: " );
var products = from p in context.Products
select new { ProductName = p.ProductName, Weight = p.Weight ?? 0 };
foreach (var product in products)
{
Console.WriteLine( " {0}, 重量: {1} " , product.ProductName, product.Weight);
}
}
// Esql
using (var context = new EFDemoEntities())
{
Console.WriteLine( " Products: " );
string esql = @" select
p.ProductName,
case when p.Weight is null then 0
else p.Weight
end as ProductWeight
from Products as p " ;
var products = context.CreateQuery < DbDataRecord > (esql);
foreach (var product in products)
{
Console.WriteLine( " {0}, 重量: {1} " , product.GetString( 0 ), product.GetDouble( 1 ));
}
}
结果如下(默认值为0):