Mapeamento Nhibernate Fluente para Vistas Sql
Eu estou usando Fluent Nhibernate em asp.net mvc3 com c #
Eu estou trabalhando na seguinte maneira de gerar e mapear uma classe
Mapeamento
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);
}
}
}
Classe
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}
}
}
e no arquivo de configuração
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();
}
Agora problema venha eu criar uma visão no SQL se parece com isso
Vista Sql
CREATE VIEW [FeaturedCompanies] AS
SELECT COUNT(Company.id) As Count FROM Company
WHERE Name='Alias'
Eu quero usar essa visão no meu código como um como eu estou usando, mas como posso fazer isso, eu procurei muito, mas não encontrei nada no google
Por favor me ajude e agradeço antecipadamente
o que é tentado até agora
Classe
public class FeaturedCompany
{
public virtual int id { get; set; }
public virtual int name { get; set; }
public virtual int count { get; set; }
}
Mapeamento
public class FeaturedCompanyMap : ClassMap<FeaturedCompany>
{
public FeaturedCompanyMap()
{
Table("FeaturedCompanies");
ReadOnly();
Id(x => x.id);
Map(x => x.name);
Map(x => x.count);
}
}