2011-02-15 61 views
0

在應用程序中,我有一堆實體類NHibernate映射與兩個公共屬性{GUID ID,字符串標記}(它通過抽象基類實現)。如何在NHibernate中爲實體屬性實現自定義SQL語句

在DB有與公共列每個實體表:

dbo.[EntityName] { uniqueidentifier Id, ... etc. } 

也有是用於存儲有關每個實體的一些全球性的標籤信息的表:

dbo.EntityTag { uniqueidentifier Id, nvarchar Tag } 

此表是嚴格需要它,它是強制性的在Db中。

我該如何實現自定義SQL邏輯來更新,選擇並在Tag屬性中插入值?

例如在FluentNhibernate這將是有幫助的類似

Map(x => x.Tag) 
    .Insert("INSERT dbo.EntityTag VALUES({Id},{Tag})") 
    .Update("UPDATE dbo.EntityTag SET Tag={Tag} WHERE Id = {ID}") 
    .SELECT("...") 
    .Delete("... etc") 

回答

0

從形式上來講,你可以使用實體留存的自定義實現這樣做。

但是,在這種情況下,使用<join>映射似乎更容易。

+0

非常感謝。 是一個解決方案。 – Michael 2011-02-15 13:41:21

相關問題