給實體的某一屬性設定預設值
model:
Weight為Product的一個允許為 NULL 屬性, 右擊Weight,查看屬性,Default Value中設定預設值。
代碼
using (EFDemoEntities context = new EFDemoEntities())
{
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));
}
}
結果如下(預設值為0):