EF4中设置默认值

给实体的某一属性设置默认值

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();
            }

 

 

结果如下: 

 

 

查询时给为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):

 

 

 

 

posted @ 2010-07-14 09:46  i'm zjz  阅读(1696)  评论(0编辑  收藏  举报