[答疑]自反关联用EA和EFCore CodeFirst得到的代码和数据库

DDD领域驱动设计批评文集>>

《软件方法》强化自测题集>>

《软件方法》各章合集>>

第五元素 2022-9-29 14:49

1)这个自反关联表达各种商品可以组合成新的东西,或者就是商品本身(组合物体为0,部件为1),这样理解对吗?

2)“组合成”、“组合”是有区别的,组合物是集合体,也就是[组合物]由[部件][组合],这样的理解对吗?

UMLChina潘加宇

应该是对的

第五元素 2022-9-29 16:08

还有一个问题,使用这样的自反关联生成的代码是这样的,是不是不太对啊?应该有一个关联类才对吧?

1…*对0…*应该是与*对*是一样的才对,生成代码的时候。

生成代码是使用EA

以上代码是项目中的,结构与前面的问题是一样的。

UMLChina潘加宇

不需要(关联类),这不是数据库。

第五元素 2022-9-30 9:32

1、首先如果用EA来生成数据库模型,确实是增加了一个关联类。如下图所示:

好像不太对,这个并不能体现*。这跟具体实现技术有关系吗?

2、我使用EFCore的CodeFirst,生成的数据库中,并没有产生这样一个关联类,并且用它生成的表中,只是增加了一个Id,如下图:

我仔细检查过了,以上codefirst也没有产生其它关联类。

UMLChina潘加宇

代码加一行

List<…> 部件

应该就有了。

可以在图上把关联改成双向可导航的,EA重新生成代码;

也可以直接在原有代码上自己敲一行。

第五元素 2022-9-30 21:37

已经测试了,按照潘老师说的可以。

方法正确确实可以减少不少思考和编码的工作量,走了很多弯路了。大量的这种n:n,我都是手写的…

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值