2011-06-07 50 views

回答

6

NHibernate允許您像查看錶一樣映射視圖。完全一樣。你唯一不能做的就是更新它。

+3

如果滿足某些條件,SQL Server允許插入和更新視圖。請參閱http://msdn.microsoft.com/en-us/library/ms187956.aspx。 – 2011-06-07 02:16:18

2

NHibernate不知道你指定爲「表」的對象實際上是一個表還是一個視圖。

如果你不打算寫信給他們,沒有什麼可擔心的。

2

正如其他答案中所述,您可以完全按照與表格相同的方式映射視圖。我會將它們配置爲只讀,以便在您的應用程序中捕獲不允許的插入,並且不會從數據庫返回錯誤:

public class MyViewMapping : ClassMap<MyViewType> 
{ 
    public MyViewMapping() 
    { 
     Table("VIEW_NAME"); 

     ReadOnly(); 

     // Add all view fields here... 
     Map(x => x.Field1, "Field1Name"); 
    } 
}