是否有人使用JSON.NET和nHibernate?我注意到当我尝试加载具有子集合的类时,我遇到了错误.
如何在NHibernate中实现克隆的对象(实体)?每个实体类都有这样的属性:
public virtual IList<Club> Clubs { get; set; }
Run Code Online (Sandbox Code Playgroud)
此外,实体类继承BaseObject.我尝试使用XML序列化来实现解决方案,但是不可能序列化接口.
谢谢您的回答!
我有一些Web方法将我的对象作为序列化XML返回.它只是序列化对象的NHibernate映射属性......任何人都有一些洞察力?似乎Web方法实际上是序列化NHibernate代理而不是我的类.我尝试过使用[XMLInclude]和[XMLElement],但属性仍然没有序列化.我有一种非常可怕的hackish方式绕过这个,但我想知道是否有更好的方法!
像这样的东西:
<?xml version="1.0" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" namespace="StoryManager" assembly="StoryManager">
<class name="Graphic" table="graphics" lazy="false">
<id name="Id" column="id" type="int" unsaved-value="0" >
<generator class="identity"/>
</id>
<property name="Assigned" />
<property name="Due" />
<property name="Completed" />
<property name="UglyHack" insert="false" update="false" />
<many-to-one name="Parent" class="Story" column="story_id"/>
</class>
</hibernate-mapping>
public class Graphic
{
private int m_id;
public virtual int Id
{
get { return m_id; }
set { m_id = value; }
}
private DateTime? m_assigned;
public virtual DateTime? Assigned
{
get { return m_assigned; }
set …Run Code Online (Sandbox Code Playgroud) 我最近开始使用NHibernate,总的来说很喜欢它.
直到遇到需要序列化为XML并返回的问题.
我有一个具有多对多关系的类,因此在父类中有一个IList来保存子对象列表.
Class parentClass{
IList<childClass> childList;
string varA;
string varB;
}
Run Code Online (Sandbox Code Playgroud)
我需要能够将其序列化为XML并返回,但显然IList阻止我这样做,因为NHibernate想要控制IList的具体实现,在这种情况下使用Bag.
理想情况下,我想避免使用单独的DTO来替换列表,因为我使用NHibernate的主要动机是能够将它与POCO一起使用,而不必为它制作一个讨厌的框架.
我所知道的能够采取与ISerializable的序列化过程的控制,但同样,这似乎否定首先使用NHibernate来降低复杂性的点.
此外,XML需要保持"简单",因为它用于与第三方互操作.
解决这个约束的最佳方法是什么?
谢谢!
我很想知道社区对这个问题的看法.我最近遇到了NHibernate/WCF场景(实体在服务层持久存在)的问题,并意识到我可能在这里走错了方向.
我的问题很明显,当在Web服务(在这种情况下为WCF)后面使用持久对象图(NHibernate,LINQ to SQL等)时,您更喜欢通过网络发送这些实体吗?或者你会创建一组较轻的DTO(没有循环引用)?
我有一个处理数据库访问的服务器和一个消耗信息的客户端.从客户端到服务器的通信是通过WCF服务.
从服务返回NHibernate POCO时,对象图中的所有对象是否已序列化?如果是这样,有没有办法改变它?
我也在考虑不返回NHibernate POCO而是返回一个只包含基本信息的对象.
你在这些案件中做了什么?