EF4中多表映射为一个实体

这儿有两张表,拥有相同的主键,这里要把这两张表映射为一个实体。

 

  将这两张表选入EDM中:

 

  下面我们开始将这两张表映射为一个实体:

 1.复制实体ProductImage中的ProductImage到实体Product中

 2.删除实体ProductImage ,这时它会弹出提示信息是否将表从存储模型中删除,选不。

 

 3. 单击实体Product,查看Mapping Details窗口

 4. Mapping Details窗口中,单击“Add a Table or View” 选择表ProductImage。

 

  这样修改过后的model就像下面这样,两个表合为一个实体模型:

 

 

  在我们现有的系统的表中添加新的列这样的事情看起来很正常,但有时却不愿意添加新列改变现有的代码,这样的话我们便可以把需要添加的新列添加到一张单独的表中。

这种将两个表合为一个实体的过程被称作垂直分割(vertical splitting)

  垂直分割的缺点是对每个表都会有一个InnerJoin操作,我们通过下面的代码可以看到:

  ExpandedBlockStart.gif代码

             using  (EFDemoEntities context  =   new  EFDemoEntities())
            {
                ObjectQuery
< Product >  productQuery  =  context.Product;
                Console.WriteLine(productQuery.ToTraceString());
            }

 

 

输出结果如图: 

 

 

转载于:https://www.cnblogs.com/zjz008/archive/2010/06/30/1768628.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值