草庐IT

nhibernate-projections

全部标签

c# - 你如何在 Nhibernate 中进行版本控制?

我无法相信让某人向我展示一个简单的工作示例是如此困难。这让我相信,每个人都只能说得好像他们知道该怎么做,但实际上他们并不知道。我将帖子缩短为仅包含我希望示例执行的操作。也许帖子太长了,吓跑了人们。为了获得这个赏金,我正在寻找一个可以在VS2010中复制并运行的工作示例。示例需要做什么。在mssql2008中以时间戳显示版本在我的域中应该是什么数据类型显示nhibernate自动抛出“StaleObjectException”向我展示这3个场景的工作示例场景一用户A来到网站并编辑Row1。用户B来了(注意他可以看到Row1)并点击编辑Row1,在用户A完成之前,UserB应该被拒绝编辑该

c# - 在 Debug 中使用 Project Reference,在 Release 中使用 Nuget

我想同时在我的项目(A)和依赖的Nuget包(B)中工作,而不需要在每次更改时都发布nuget包。是否可以在构建调试时从解决方案(A)中引用Nuget项目(B)。在构建Release时使用Source中的Nuget包? 最佳答案 一种方法是手动编辑csproj文件。如果您当前已经引用了NuGet包,那么您将在csproj文件中拥有这样的部分:......\packages\log4net.2.0.8\lib\net45-full\log4net.dllTrue....在这个例子中,使用了log4net。对于您的NuGet包,公钥to

c# - nhibernate 有什么,那个 Entity Framework 4 不见了?

我们正在尝试决定是否值得在项目中使用EntityFramework4。为此,我认为一个好的起点是将它与nhibernate进行比较,nhibernate已经成熟并经过多年使用证明具有企业应用程序所需的所有功能,并找出nHibernate具有哪些EF4缺少的功能所以开始吧,我有限的知识:缓存:nhib有二级缓存,而EF4缓存很差(?)nHibernate具有大多数数据库的提供程序,而EF需要非SQL数据库的插件nHib更快/更优化nHib有扩展点(例如自定义字段类型)...还有什么?找到一些文章:http://ayende.com/blog/archive/2010/01/05/nhib

c# - NHibernate - KeyNotFoundException : The given key was not present in the dictionary

更新:我已经解决了这个问题我有下面的代码块,它最终应该更新一条记录if(session.Contains(entity)){session.Evict(entity);}Session.Evict(entity)上的哪些错误带有KeyNotFoundException,以及以下消息:Thegivenkeywasnotpresentinthedictionary.我是不是误会了什么?我假设如果session.Contains(entity)为真,那么key应该存在,因此session.Evict()应该按预期工作?堆栈轨迹如下:System.Collections.Generic.Key

c# - 如何使用 nhibernate SchemaUpdate 功能更改列

我有实体模型,我想在每次运行应用程序时将其反射(reflect)到数据库,但不清除数据,因此我在某种程度上使用SchemaUdpate和流畅的nhibernate映射方法varconfig=Fluently.Configure().Database(MsSqlConfiguration.MsSql2008.ConnectionString(connectionString));//hereIaddmappings,applyconventions,buildconfiguration,etc...//newSchemaUpdate(configuBuild).Execute(doUpd

c# - 带有 IUserType 的 NHibernate linq 查询

在我的项目中,我使用IUserType(BooleanM1)来处理bool值并将-1表示为真,0表示为假值写入数据库。到目前为止一切正常。映射看起来像这个:所以如果我做如下查询varpList=Session.Query().Where(c=>c.Active).ToList();抛出异常:NHibernate.QueryException:Unabletorenderbooleanliteralvalue[.Where[Core.Test.Domain.Test](NHibernate.Linq.NhQueryable`1[Core.Test.Domain.Test],Quote((

c# - 使用 AutoMapper 从 POCO 映射到 NHibernate 代理对象时出错

我们最近升级了AutoMapper,在以某种方式映射项目时遇到了问题。当我加载一个NHibernate域对象,并尝试以下列方式将我的模型映射到它时:varmyPoco=newMyPoco();varproxy=repository.Load(id);Mapper.Map(myPoco,proxy);我收到以下错误:Missingtypemapconfigurationorunsupportedmapping.MyPoco->MyDomainObjectProxy但是,如果我使用该方法的以下重载,我不会得到异常:varmyDomainObj=Mapper.Map(myPoco);当您查看

c# - 从 NHibernate session 断开对象

在我的nhibenatesession中,我使用AutoMapper映射对象,在afterMap操作中,我创建了对象的新实例,因为我从数据库中提取对象以进行属性比较。所以AutoMapper为一个对象创建两个具有相同ID的实例。当我尝试提交session时出现错误,我必须使用相同的ID反对。所以我想在属性比较后断开我提取的对象。之后我可以提交session我该怎么做?谢谢! 最佳答案 您可以使用session.Evict(persistentObject)从session中逐出持久对象。这将从一级缓存中删除对象,从而允许您刷新ses

c# - 复杂的 nHibernate QueryOver 表达式

我在层次结构A>B>C>D中有以下对象。每个对象都映射到一个表。我正在尝试使用QueryOver编写以下SQL:SELECTBFROMA,B,C,DWHEREA.ID=B.IDANDB.ID=C.IDANDC.ID=D.IDWHEREA.NUMBER='VALUE'ANDD.NAMEIN('VALUE1','VALUE2')到目前为止,我有C#代码:string[]entityNames=entityAttributes.Select(e=>e.Name).ToArray();stringcustomerNumber=2;returnsession.QueryOver().JoinQu

c# - Fluent-NHibernate 多对多级联不填充链接表

好的,无论我如何定义这些映射,我的多对多映射都不想使用级联插入。我已经尝试了Cascade()与Reverse()的各种组合,并删除了所有不必要的属性,只是为了了解它们是否与此不工作有关,但没有锁定。这真的很简单:我有一个Message(就像一封电子邮件),它是从一个用户(我称之为实体BasicUser)发送给许多用户(通过属性To)。User和Message在收件人方面是多对多的关系,而FromUser是一对多的。FromUser工作正常并且更新正常,但我的问题是多对多。我什至删除了FromUser和关系只是为了检查这是否是问题所在,但没有帮助。这是表设计(为简单起见,删除了从Fro