簡體   English   中英

非唯一對象Nhibernate C#

[英]Non unique object nhibernate c#

我正在使用c#和mysql中的nhibernate,我有一個列表來存儲商店出售的產品,這些產品在某些時候可能相同但價格不同。

產品A-價格3.00產品A-價格2:2.50

當要保存時,向我顯示以下內容,我確定這是nhibernate無法做到的,如果我錯了,請幫助我,我需要解決此問題,謝謝。

具有相同標識符值的另一個對象已與以下會話相關聯:實體72:DAL.Ent.Sale

還提到我的數據庫(如果該收入允許以不同的價格出售同一產品),因為它具有使它們與眾不同的唯一標識符。

從您提供的信息出發,我想您需要研究域對象的建模方式。

您需要為指定商店分開產品和該產品的價格。 中間需要有一個聯接表,以保持商店,產品和產品價格之間的關系。 因此,每個記錄的給定商店的產品價格只有一個。

因此,您最終會遇到類似這樣的情況。

public class Product
{
    public virtual Guid Id { get; set; }
    public virtual string Name { get; set; }
    public virtual ISet<Price> Prices { get; set; }
}
public class Price 
{
    public virtual Guid Id { get; set; }
    public virtual Product Product { get; set; }
    public virtual Store Store { get; set; }
    public virtual decimal Price { get; set; }
}

public class Store
{
    public virtual Guid Id { get; set; }
    public virtual string Name { get; set; }
    public virtual ISet<Price> ProductPrices { get; set; }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM