'Set Multiple Value For One Property

I have two class that you can see below:

public class Product
{
    public int Id {get; set;}
    public string Name {get; set;}
    public decimal SuggestionPrice {get; set;}
    public List<SaleOrder> SaleOrders {get; set;} = new List<SaleOrder>();

}
public class SaleOrder
{
    public int Id {get; set;}
    public List<Product> Products {get; set;} = new List<Product>();
}

as you can see,this two class have Many-To-Many RealationShip to eachother.in Product class i have SuggestionPrice property that i want save multiple value in it and it's difference for each SaleOrder Class.

for example,Someone offers $ 1,000 in one SaleOrder and someone else offers $ 2,000 in another SaleOrder for same product and infinitely another suggestions that I want to save them all in database.

problem is i don't know how can i do this?how can i know witch SuggestionPrice is for witch SaleOrder Class?



Solution 1:[1]

To save in database You should create a SuggestionPrice table like this:

public class SuggestionPrice
{
public int Id {get;set}
public int ProductId {get;set;}
public decimal Price {get;set;}
public Product Product {get;set;}
}

and change product class to this:

public class Product
{
    public int Id {get; set;}
    public string Name {get; set;}
    public ICollection<SuggestionPrice> SuggestionPrices {get; set;}
}

to create a one to many relation between Product and SuggestionPrice.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1