现在的位置: 首页 > 综合 > 正文

EF4中设置默认值

2013年04月27日 ⁄ 综合 ⁄ 共 1715字 ⁄ 字号 评论关闭

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

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):

 

 

 

 

抱歉!评论已关闭.