asp.net-mvc – Sql Views的流畅Nhibernate映射
发布时间:2020-12-15 19:17:11 所属栏目:asp.Net 来源:网络整理
导读:我正在使用Fluent Nhibernate在asp.net mvc3与c# 我正在按照以下方式生成和映射一个类 制图 using FluentNHibernate.Mapping;using Com.Web.Domain; namespace Com.Web.Mapping { public class CompanyMap : ClassMapCompany { public CompanyMap() { Id(x =
我正在使用Fluent Nhibernate在asp.net mvc3与c#
我正在按照以下方式生成和映射一个类 制图 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); } } 解决方法
视图的映射方式与表映射的方式相同,只是您应该将Readonly()放在映射中,以防止意外写入.例:
public class FeaturedCompanyMap : ClassMap<FeaturedCompany> { public FeaturedCompanyMap () { Table("FeaturedCompanies"); ReadOnly(); 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 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- asp.net-mvc-4 – Autofac和ASP .Net MVC 4 Web
- asp.net – 如何在.Net Core中间件中获取当前子域
- asp.net-mvc – 断言操作重定向到正确的操作/路由
- asp.net – 测试后的NUnit回滚
- asp.net-mvc-3 – .NET MVC 3中的jQuery不显眼验
- asp.net-mvc – 发布ASP.NET MVC 3 Html.TextAre
- asp.net-mvc – 将母版页的代码放在MVC应用程序中
- 如何在asp.net表单身份验证中执行滑动和绝对超时
- asp.net-core-mvc – ASP.NET Core MVC控制器在单
- aspx.cs页面中的ASP.NET Webmethod无法访问Page.
热点阅读