2011-06-07 52 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"); 
    } 
}