Tag: nhibernate

如何构建可扩展的数据模型

我正在考虑使用NHibernate和Fluent NHibernate构建一个具有可扩展数据模型的电子商务应用程序。 通过拥有可扩展的数据模型,我可以定义一个Product实体,并允许应用程序中的用户使用包含自定义数据类型的不同数据类型的新字段/属性来扩展它。 示例:产品可以有一个附加字段,如:Size – int Color – string Price – ColoredImage的十进制集合 – 名称,图像(例如“Red”,red.jpg(二进制文件)) 另一个要求是能够通过这些附加/扩展字段过滤产品。 我该如何实现呢? 提前致谢。

流利的nHibernate:一对多的关系问题

我有一对多关系的问题。 我有以下域类: public class Installation : Entity { public virtual string Name { get; set; } public virtual IList Institutions { get; set; } public Installation() { Institutions = new List(); } } public class Institution : Entity { public virtual string Name { get; set; } public virtual string Address { get; set; } […]

NHibernate获取没有代理的对象

我正在使用NHibernate(2.0.1.4)与NHibernate.Linq(1.0.0.4)从数据库中获取Node类型的对象。 当我得到这些对象时,我得到的集合的最后一个对象是Proxy类型(因为我使用了“NHibernate.ByteCode.LinFu”“) 我使用了以下linq查询: var mynodes = from node in session.Linq() where ancestorNodes.Contains(node.Id) select node).ToList() anchestorNodes是要获取的节点对象的Id列表。 当我在“ancestorNodes”列表中有3个id时,我从查询中得到的结果(mynodes)的最后一个对象是nodeProxy类型。 怎么会这样? 为什么它总是最后一个对象? 我怎么解决这个问题?

NHibernate的T4模板? – 不流利的NHibernate

想知道是否有人知道用于生成C#POCO类的一组T4模板,以及从数据库中的一组表映射NHibernate的XML文件。 我看到David Hayden创建了T4,用于生成基于DBML模型的FluentNH代码,但我还没有准备好使用FluentNH,因为还没有正式版本(尽管我喜欢这个想法)。 任何人都知道使用普通NHibernate的任何T4模板?

如何在Fluent NHibernate中映射IDictionary

我有一个带有IDictionary的课程。 正如您所看到的,它使用多对多来使用tOwnedCodedExample表从其表中获取CodedExamples,以查找OwnerClass拥有的内容。 我意识到这是一个非常基本的(并且希望是标准的)映射,但我正在努力,无法找到任何文档,因此非常感谢任何可能的帮助。 非常感谢 斯图

在NHibernate中获取正确类型的代理

我在nhibernate中遇到了未初始化的代理问题 领域模型 假设我有两个并行的类层次结构:Animal,Dog,Cat和AnimalOwner,DogOwner,CatOwner,其中Dog和Cat都inheritance自Animal和DogOwner,CatOwner都inheritance自AnimalOwner。 AnimalOwner有一个名为OwnedAnimal的类型的引用。 以下是示例中的类: public abstract class Animal { // some properties } public class Dog : Animal { // some more properties } public class Cat : Animal { // some more properties } public class AnimalOwner { public virtual Animal OwnedAnimal {get;set;} // more properties… } public class DogOwner : AnimalOwner { […]

WinForm应用程序中的NHibernate和AUTOFAC

我正在寻找一个很好的教程,在WinForm应用程序中使用NHibernate配置AUTOFAC,在创建表单时注入ISession并在表单关闭时处理ISession。 我发现了很多MVC和ASP.NET示例但没有使用WinForm。 你能为我指出正确的方向吗?

在Windows上禁用应用程序的证书吊销检查

我有一个.NET 3.5桌面应用程序,当它所在的测试机器不在办公室时,它已经显示出function的周期性减速。 我设法在没有互联网连接的情况下在办公室的机器上复制错误,但只有当我使用ANTS性能分析器时,我才能更清楚地了解正在发生的事情。 在ANTS中,我看到“等待同步”需要16秒,这与NHibernate尝试加载System.Data.SqlServerCE.dll程序集时在应用程序中看到的延迟相对应。 如果我立即再次尝试动作它会毫无延迟地工作,但如果我离开它5分钟,那么下次我尝试它时再次加载会很慢。 到目前为止,我的研究似乎是因为SqlServerCE dll已签名,因此系统正在尝试连接以获取证书吊销列表并超时。 禁用“Internet选项”LAN设置中的“自动检测设置”设置会使问题消失,同时禁用“检查发布者证书吊销”。 但是,部署此应用程序的管理员不会对在每台计算机或每个用户上禁用证书检查的想法感到满意,因此我确实需要让应用程序级别禁用CRL检查工作。 .net 2.0中有一个记录良好的错误,它描述了这种行为,并提供了一个配置文件元素的可能修复。 这对我来说不起作用,即使我使用.net 3.5。 SQLServerCE dll是由NHibernate动态加载的,我想知道它是动态的这个事实可能不知何故设置不起作用,但我不知道如何检查它。 任何人都可以提供有关配置设置可能不起作用的建议吗? 或者是否有另一种方法可以在应用程序级别禁用检查,也许是CAS策略设置,我可以使用它在应用程序安装时为应用程序设置例外? 或者我可以在应用程序中更改信任级别或类似的东西吗?

无法在NHibernate中加载文件或程序集

我最近在hibernate.cfg.xml文件中遇到了一些问题,因为我没有使用以下行。 NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle 现在,这是固定的,我得到以下错误。 无法加载文件或程序集’NHibernate,Version = 2.1.0.4000,Culture = neutral,PublicKeyToken = aa95f207798dfdb4’或其依赖项之一。 定位的程序集的清单定义与程序集引用不匹配。 (HRESULTexception:0x80131040) 为什么我会收到此错误,如何解决?

优化nhibernate会话工厂,webApp的启动时间确实很慢

我已经实施了测试应用。 它使用流畅的nhibernate映射到mssql db中的db对象。 因为我想学习微调nhib。 mvc3应用程序,我正在使用这个应用程序。 用于测试目的,它只有一个带有10个枚举属性和一个字符串属性的简单实体。 所以,它实际上是光波,但根据nhibernate profiler的启动时间是4.37秒。 这对于渲染一个具有少量行检查/未检查属性的实体来说真的很慢。 代码如下。 Domain.SessionProvider.cs public static ISessionFactory CreateSessionFactory() { var config = Fluently.Configure() .Database(MsSqlConfiguration.MsSql2008 .ConnectionString(c => c.FromConnectionStringWithKey(“myConnection”))) .Mappings(m => m.FluentMappings.Add()) .ExposeConfiguration(p => p.SetProperty(“current_session_context_class”, “web”)) .BuildConfiguration(); return config.BuildSessionFactory(); } Global.asax中 public class MvcApplication : System.Web.HttpApplication { //SessionPerWebRequest is ommited here as well as other content public static ISessionFactory SessionFactory […]