所以我建立使用代碼優先MVC網店 - 建立包含多個產品的訂單MVC .NET
所以我創造了這個模型類,現在網店的(不走類型的屬性太嚴重的現在):
產品(Produto):
public Produto()
{
ListaProdutoEncomenda = new HashSet<Produto_Encomenda>();
}
public int ProdutoID { get; set; }
[Required]
[StringLength(50)]
public string Nome { get; set; }
[Required]
public double Preco { get; set; }
[Required]
public double Peso { get; set; }
[Required]
[StringLength(255)]
public string Descricao { get; set; }
[Required]
public double IVA { get; set; }
public string Imagem { get; set; }
public DateTime UltimaAtualizacao { get; set; }
public int Stock { get; set; }
public int CategoriaID {get;set;}
public virtual ICollection<Produto_Encomenda> ListaProdutoEncomenda { get; set; }
}
Encomenda(按順序):
public class Encomenda
{
public Encomenda()
{
ListaProdutoEncomenda = new HashSet<Produto_Encomenda>();
}
[Key]
public int IDEncomenda { get; set; }
[Required]
public DateTime DataSubmissao { get; set; }
[Required]
public DateTime DataEnvio { get; set; }
[Required]
public int EstadoEnvioID { get; set; }
[StringLength(50)]
public string NomeDestino { get; set; }
[Required]
public int TipoExpedicaoID { get; set; }
[Required]
public int RegiaoDestinoID { get; set; }
[StringLength(50)]
public string MoradaDestino { get; set; }
[StringLength(50)]
public string CodPostalDestino { get; set; }
[Required]
[StringLength(50)]
public string MoradaFaturacao { get; set; }
[Required]
[StringLength(50)]
public string CodPostalFaturacao { get; set; }
public virtual ICollection<Produto_Encomenda> ListaProdutoEncomenda { get; set; }
}
而produtos(產品)和Encomenda(訂單)
public class Produto_Encomenda
{
[Key]
public int IDProduto_Encomenda { get; set; }
[Required]
public string NomeProduto { get; set; }
[Required]
public int Quantidade { get; set; }
[Required]
public float preco { get; set; }
[Required]
public float IVA { get; set; }
public virtual Encomenda Encomenda { get; set; }
public virtual Produto Produto { get; set; }
[ForeignKey("Encomenda")]
public int IDEncomendaFK { get; set; }
[ForeignKey("Produto")]
public int IDProdutoFK { get; set; }
}
所以我的問題是..之間的連接表 讓我們假設一個負荷消費購買2或3件或以上。 如何將所有這些產品存儲在訂單的一行中? 歡呼和感謝了很多提前閱讀的時間。
感謝您的回覆。 我明白你在說什麼,並使100%的感覺,儘管如何我可以做到這一點,或我應該怎麼聯繫它?可能這很簡單,但它現在不是響亮的,我真的不知道該如何實現。 –
這真的取決於你想要什麼。簡單地說,我只是談論另一個實體,比如'OrderItem'。在內部,它可能看起來像'Produto_Encomenda'目前所做的一樣,除了與產品直接相關外,您只需在此輸入相關產品信息(名稱,圖像等)即可。這種關係將是一對多的,而不是多對多的關係。每個'OrderItem'將直接與一個訂單相關。如果你願意,你*可以*仍然有一個外鍵返回給產品,但是你需要這個外鍵是可空的,並且應該將它設置爲ON DELETE SET NULL。 –
好吧克里斯我會試試看,我會讓你知道事情已經過去了。 謝謝.. –