10
我使用功能NHibernate在asp.net MVC3用C#功能NHibernate的映射SQL視圖
我在下面的方式工作,以產生和映射一類
映射
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);
}
}
}
類別
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}
}
}
,並在配置文件
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();
}
現在問題來了我創建一個視圖在SQL看起來像這樣
SQL視圖
CREATE VIEW [FeaturedCompanies] AS
SELECT COUNT(Company.id) As Count FROM Company
WHERE Name='Alias'
我想用這個觀點在我的代碼像我使用,但我怎麼能這樣做,我搜索了很多,但沒有發現谷歌上的任何東西
請幫助米Ë出來,在此先感謝
什麼是到目前爲止已經試過
類
public class FeaturedCompany
{
public virtual int id { get; set; }
public virtual int name { get; set; }
public virtual int count { get; set; }
}
映射
public class FeaturedCompanyMap : ClassMap<FeaturedCompany>
{
public FeaturedCompanyMap()
{
Table("FeaturedCompanies");
ReadOnly();
Id(x => x.id);
Map(x => x.name);
Map(x => x.count);
}
}
但是我怎麼能得到計數(我的意思是我在Razor視圖或C#視圖的結果)? –
看到我更新的問題,我試過我的應用程序運行良好,但我不知道如何獲得計數在C# –