0
我有這樣一個類:我怎麼能在兩個屬性創建涉及邏輯UNIQUE約束與功能NHibernate
public class Link
{
public virtual long Id { get; set; }
public virtual string IdentifierA { get; set; }
public virtual string IdentifierB { get; set; }
}
和類似這樣的映射:
public class LinkMap : ClassMap<Link>
{
public LinkMap()
{
Id(x => x.Id);
Map(x => x.IdentifierA);
Map(x => x.IdentifierB);
}
}
我想只存儲鏈接,A,在那裏沒有鏈接,B,在數據庫中這樣的:
((A.IdentifierA == B.IndentifierA && A.IdentifierB == B.IdentifierB) || (A.IdentifierA == B.IndentifierB && A.IdentifierB == B.IdentifierA))
那是我認爲任何兩個鏈接在兩個給定的標識符之間作爲相同的鏈接,並且只想要存儲其中的一個。
我可以用Fluent NHibernate來設置嗎?如果是,如何?
該映射使我獲得了一半的方式,但並不禁止old.IdentifierA == new.IdentifierB && old.IdentifierB == new.IdentifierA。正如你推薦的,我有一個代碼工作的解決方案。似乎我會堅持。感謝您的回答! –