草庐IT

fluent-nhibernate-mapping

全部标签

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

c# - NUnit 或 Fluent Assertions 测试引用相等性?

我正在使用NUnit2.6.2+FluentAssertions2.0.1。我想断言两个引用不指向同一个对象实例。我找不到一种干净的方式来表达这一点。NUnit有Assert.ReferenceEquals(ref1,ref2)-但我找不到否定断言。在FluentAssertions中我找不到任何直接支持这种情况的东西。我能做到的唯一方法是这样的:NUnit:Assert.False(object.ReferenceEquals(ref1,ref2));流畅:object.ReferenceEquals(ref1,ref2).Should().BeFalse();就最小噪音而言,这两者

c# - 如何在 NHibernate 中克隆对象?

如何在NHibernate中实现对象(实体)的克隆?每个实体类都有这样的属性:publicvirtualIListClubs{get;set;}另外,实体类继承了BaseObject。我尝试使用XML序列化来实现解决方案,但无法序列化接口(interface)。感谢您的回答! 最佳答案 AutoMapperhttp://automapper.codeplex.com/解决了我的问题。例如,可以通过以下方式克隆业务对象:Mapper.CreateMap();varnewtransact=newTransaction();Mapper.

c# - 动态 CRM : Get metadata for statuscode/statecode mapping

在DynamicsCRM2011中,在事件实体上,“状态原因”选项集(又名状态代码)与“状态”选项集(又名状态代码)相关例如看这个截图当我使用API检索状态原因选项集时,如下所示:RetrieveAttributeRequestattributeRequest=newRetrieveAttributeRequest{EntityLogicalName="incident",LogicalName="statuscode",RetrieveAsIfPublished=true};RetrieveAttributeResponseattributeResponse=(RetrieveAtt

c# - Google Maps v3 地理编码服务器端

我正在使用ASP.NETMVC3和GoogleMapsv3。我想在一个Action中进行地理编码。那就是将有效地址传递给Google并取回经纬度。我见过的所有有关地理编码的在线示例都涉及客户端地理编码。您将如何使用C#在操作中执行此操作? 最佳答案 我不确定我是否理解正确,但这是我这样做的方式(如果您有兴趣的话)voidGoogleGeoCode(stringaddress){stringurl="http://maps.googleapis.com/maps/api/geocode/json?sensor=true&address

c# - Entity Framework 4 Code First 是否支持像 NHibernate 这样的身份生成器?

一年前问的这个问题是类似的:DoestheEntityFramework4supportgeneratorsforidvalueslikeNHibernate?但我想知道代码优先CTP是否添加了对身份生成策略的支持。如果没有,有人知道EF中的一个很好的扩展点来实现类似的东西吗?我目前正在处理使用GUID作为标识符的模型类。使用EF插入时,它们会保留其Guid.Empty初始值。我知道您可以将数据库中列的默认值设置为newid()但这违背了客户端身份生成的目的。EntityFramework是否不够成熟,无法在分布式、断开连接的系统中使用? 最佳答案