繁体   English   中英

多对多关系类设计

[英]Many To Many Relationship class design

如何处理以下情况。

我有一个具有List<Orders>Product类和一个具有List<Products> Order类。

具有上述结构是否很好,否则将来会出现任何问题。 如果是引起问题的,那么还有其他方法可以实现它...

我想说,在Product类中使用List<Order>可能弊大于利。 根据项目的大小,一种产品可以成千上万个订单。

在这种情况下,即使您只想创建产品列表,也将不得不在其中创建数千个Order实例-完全无用的数据。

取而代之的是,您可以轻松地通过以下方式接受包含该产品的所有订单:

List<Order> _Orders = AllOrders.Where(_Order => _Order.ProductIds.Contains(YourProductId));

您确实不需要从ProductOrder的链接,因为如果您想了解某个特定产品在过去是否已订购,则可以使用该产品的ID搜索与每个订单关联的产品。 OrderProduct的链接很有意义,因为通过这种方式,您可以看到由哪些产品构成订单。

您可以通过使用元组将产品与订单链接来解除订单和产品类型的耦合。

Product移除List<Order>并从Order移除List<Order> List<Product>并创建一个包含List<Tuple <Order, Product>>的第三类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM