自反关联用EA和codefirst得到的代码和数据库
第五元素 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,我都是手写的...