多对多关系课程设计

时间:2014-05-14 10:51:44

标签: c# vb.net class oop

如何处理以下方案。

我有一个Product类,其中List<Orders>Order类有List<Products>

拥有上述结构是否合适,否则将来会产生任何问题。 如果它导致问题,那么还有其他方法来实现它......

3 个答案:

答案 0 :(得分:1)

我会说在List<Order>课程中Product可以做得更好而不是好。一个产品可以 - 根据您的项目规模 - 在数千个订单中。

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

相反,您可以轻松地获取包含该产品的所有订单:

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

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

相关问题