EntityFramework修改映射关系

我们在数据库中有很多实体是多对多关系,这是通用的方法是增加一个映射表,例如下图,mymap为映射表。 snap124

我们希望在实体模型中通过node的Persons属性获取节点下的所有对象,也希望通过Person的Nodes属性获取所有节点对象。就像这样

snap142

默认导入实体模型时,如果映射表只有nodeid,和personid两列时,实体模型会自动生成多对多的关系,但是如果映射表中存在一些多余字段,那么就会出现下图的情况。原因是mymap中存在多余字段loadtime。

snap125

接下来,我们通过配置消除这种不爽的影响。

1,导入实体模型,删除关联关系;

snap126

2,删除映射表实体,注意只能删除模型对象,而不能删除存储对象。什么意思呢?就是单击删除以后,选择No,在模型浏览器中可以看到store中的表依然存在,只删除实体类型中的实体定义,看下图,Entity Types中的mymap被删除了,但是store中的存储模型定义还在。

snap127 snap128

3,增加node到person之间的关联,注意关系为多对多。

snap129

 

4,修改映射,打开Mapping Detail视图,增加一个mymap的映射关系,选择对于的映射列。ok了。

snap130

5,看一下效果:)。

snap131

snap132

 

总结:微软的实体框架非常强大,但配置文件并不复杂,模型浏览窗体对应store和entity定义部分,映射窗体对应cs部分,

嗯,就这些。

转载于:https://www.cnblogs.com/malingbo/archive/2011/03/17/1987449.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值