Nhibernate 在fluent NH中是否有任何方法可以映射视图?

Nhibernate 在fluent NH中是否有任何方法可以映射视图?,nhibernate,fluent-nhibernate,nhibernate-mapping,Nhibernate,Fluent Nhibernate,Nhibernate Mapping,在fluent NH中有没有办法将[视图]映射到c#类?我需要只读。NHibernate允许您像映射表一样映射视图。完全一样。您唯一不能做的就是更新它。NHibernate允许您像映射表一样映射视图。完全一样。您唯一不能做的就是更新它。NHibernate不知道您指定为“表”的对象实际上是表还是视图 如果您不打算向它们写入数据,则无需担心。NHibernate不知道您指定为“表”的对象实际上是表还是视图 如果你不打算写信给他们,那就没什么好担心的。正如其他答案中所解释的,你可以用与表完全相同的方

在fluent NH中有没有办法将[视图]映射到c#类?我需要只读。NHibernate允许您像映射表一样映射视图。完全一样。您唯一不能做的就是更新它。

NHibernate允许您像映射表一样映射视图。完全一样。您唯一不能做的就是更新它。

NHibernate不知道您指定为“表”的对象实际上是表还是视图


如果您不打算向它们写入数据,则无需担心。

NHibernate不知道您指定为“表”的对象实际上是表还是视图


如果你不打算写信给他们,那就没什么好担心的。

正如其他答案中所解释的,你可以用与表完全相同的方式映射视图。我会将它们配置为只读,以便在应用程序中捕获不允许的插入,并且不会从数据库返回错误:

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

        ReadOnly();

        // Add all view fields here...
        Map(x => x.Field1, "Field1Name");
    }
}
公共类MyViewMapping:ClassMap
{
公共MyViewMapping()
{
表(“视图名称”);
只读();
//在此处添加所有视图字段。。。
映射(x=>x.Field1,“Field1Name”);
}
}

如其他答案所述,您可以以与表格完全相同的方式映射视图。我会将它们配置为只读,以便在应用程序中捕获不允许的插入,并且不会从数据库返回错误:

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

        ReadOnly();

        // Add all view fields here...
        Map(x => x.Field1, "Field1Name");
    }
}
公共类MyViewMapping:ClassMap
{
公共MyViewMapping()
{
表(“视图名称”);
只读();
//在此处添加所有视图字段。。。
映射(x=>x.Field1,“Field1Name”);
}
}

SQL Server允许在满足某些条件时插入和更新视图。请参阅。如果满足某些条件,SQL Server允许对视图进行插入和更新。看见