插入/選擇記錄我有這些表:NHibernate的映射,基於獨特的非主鍵
創建表的品牌 ( ID INT標識(1,1), 名稱爲varchar(100)NOT NULL唯一, 主鍵集羣(ID) )
創建表的產品 ( ID INT標識(1,1), 名稱爲varchar(100)NOT NULL, BrandID詮釋不是空引用品牌(ID) )
我在c#中有各自的實體,即Brand實體有一個int ID和字符串Name,Product實體有int ID,string Name,Brand Brand。
如何定義一個映射,以便在創建新的產品模型時設置其名稱並在其名稱上設置新的品牌模型時,當我調用ISession.SaveOrUpdate時,將首先使用品牌名稱,該記錄是否存在?如果我將Brand上的ID設置爲身份,則即使名稱已經存在,也會嘗試插入記錄,因爲我沒有明確檢查記錄的存在。如果我將名稱設置爲身份,那麼它不認爲需要首先插入。我可以明確地檢查品牌是否存在,但我正在尋找一個能夠自動完成此操作的映射。有些東西會允許我指定品牌的身份應該通過其名稱進行驗證,但是0 ID表示它的新名稱。