Asp.net mvc Sql视图的Fluent Nhibernate映射

Asp.net mvc Sql视图的Fluent Nhibernate映射,asp.net-mvc,nhibernate,fluent-nhibernate,nhibernate-mapping,fluent-nhibernate-mapping,Asp.net Mvc,Nhibernate,Fluent Nhibernate,Nhibernate Mapping,Fluent Nhibernate Mapping,我正在用c#在asp.net mvc3中使用Fluent Nhibernate 我正在以下面的方式生成并映射一个类 映射 using FluentNHibernate.Mapping; using Com.Web.Domain; namespace Com.Web.Mapping { public class CompanyMap : ClassMap<Company> { public CompanyM

我正在用c#在asp.net mvc3中使用Fluent Nhibernate

我正在以下面的方式生成并映射一个类

映射

using FluentNHibernate.Mapping;
using Com.Web.Domain;

   namespace Com.Web.Mapping
      {
         public class CompanyMap : ClassMap<Company>
        {
             public CompanyMap()
            {
               Id(x => x.id);
               Map(x => x.Name);
              }
          }
       }
public class FeaturedCompanyMap : ClassMap<FeaturedCompany>
  {
 public FeaturedCompanyMap()
 {
    Table("FeaturedCompanies");
    ReadOnly();
   Id(x => x.id);
   Map(x => x.name);
   Map(x => x.count);
 }
}
和在配置文件中

  private static void InitializeSessionFactory()
    {

       _sessionFactory = Fluently.Configure()
            .Database(MsSqlConfiguration.MsSql2008
                          .ConnectionString(local)

            )
            .Mappings(m =>
                      m.FluentMappings
                          .AddFromAssemblyOf<Company>())
            .ExposeConfiguration(cfg => new SchemaExport(cfg)
            .Create(false, false))  // this is intentionally set false , bcz i dont want to regenerate table when application starts every time 
            .BuildSessionFactory();


    }
我想在我的代码中使用这个视图,就像我正在使用的一样,但我怎么能做到呢?我搜索了很多,但在谷歌上什么也没找到

请帮助我,并提前感谢

到目前为止尝试了什么

课程

     using System.Collections.Generic;
     using System;

      namespace Com.Web.Domain
      {

          public class Company
         {

          public virtual int id { get; set; }
          public virtual string Name{get;set}

           }

        }
public class FeaturedCompany
{
    public virtual int id { get; set; }
    public virtual int name { get; set; }
    public virtual int count { get; set; }
}
映射

using FluentNHibernate.Mapping;
using Com.Web.Domain;

   namespace Com.Web.Mapping
      {
         public class CompanyMap : ClassMap<Company>
        {
             public CompanyMap()
            {
               Id(x => x.id);
               Map(x => x.Name);
              }
          }
       }
public class FeaturedCompanyMap : ClassMap<FeaturedCompany>
  {
 public FeaturedCompanyMap()
 {
    Table("FeaturedCompanies");
    ReadOnly();
   Id(x => x.id);
   Map(x => x.name);
   Map(x => x.count);
 }
}
public类功能companymap:ClassMap
{
公共功能CompanyMap()
{
表(“特色公司”);
只读();
Id(x=>x.Id);
Map(x=>x.name);
Map(x=>x.count);
}
}

视图的映射方式与表的映射方式相同,只是您应该在映射中放入
Readonly()
,以防止意外写入。例如:

public class FeaturedCompanyMap : ClassMap<FeaturedCompany>
{
    public FeaturedCompanyMap ()
    {
       Table("FeaturedCompanies");
       ReadOnly();

       Id(x => x.Id);
       Map(x => x.Name);
       Map(x => x.Count);
    }
}
public类功能companymap:ClassMap
{
公共功能比较地图()
{
表(“特色公司”);
只读();
Id(x=>x.Id);
Map(x=>x.Name);
Map(x=>x.Count);
}
}
更新:获取计数

var results = session.Query<FeaturedCompany>().Where(filter).List();

foreach(var row in results.Select(r => "Alias: " + r.Name + "  Occurence: " + r.Count))
{
    // print row to screen
}
var results=session.Query().Where(filter.List();
foreach(results.Select中的变量行(r=>“别名:”+r.Name+“出现:”+r.Count))
{
//将行打印到屏幕
}

但是如何获取计数(我指的是razor view或c#中我的视图的结果)?请看我更新的问题,我尝试了什么,我的应用程序运行良好,但我不知道如何在c#Hi@Martin中获取计数,我正在尝试将view与nhibernate一起使用,我按照以下代码段进行了映射。但对以下对象的查询不返回任何内容。[Class(NameType=typeof(LeadReviewDetail),Table=“vw_lead_review_detail”,Lazy=false,Schema=“affiliate”)]公共类LeadReviewDetail{[Id(Name=“LeadEventId”,Column=“lead_event_Id”,UnsavedValue=“0”)][Generator(1,Class=“assigned”)]公共虚拟int?EventLeadId{get;set;}[Property(Column=“addition\u input\u value”)]公共虚拟字符串AdditionInputValue{get;set;}