我正在尝试序列化DetachedCriteria,这样我就可以将其保存在数据库中,并在以后重用相同的条件。当我运行下面的代码时,我得到"NHibernate.Criterion.DetachedCriteria不能被序列化,因为它没有无参数的构造函数“。
DetachedCriteria criteria1 = DetachedCriteria.For<SecurityObjectDTO>("so")
.Add(Expression.Eq("ObjectCode", "1234"));
XmlSerializer s = new XmlSerializer(typeof(DetachedCriteria));
TextWriter writer = new StringWriter();
s.Serialize(writer, criteria1);
writer.Close();有没有什么好的方法来序列化DetachedCriteria?
发布于 2009-12-10 00:18:07
我以前也遇到过类似的事情。
看一下XmlSerializer,如果您的对象没有默认构造函数,它看起来就不会工作。
然而,我遇到了这篇文章:
How do I serialize an NHibernate DetachedCriteria object?
// Convert the DetachedCriteria to a byte array
MemoryStream ms = new MemoryStream();
IFormatter formatter = new BinaryFormatter();
formatter.Serialize(ms, detachedCriteria);
// Serialize the byte array
XmlSerializer s = new XmlSerializer(typeof(byte[]));
TextWriter writer = new StringWriter();
s.Serialize(writer, ms.Buffer);
writer.Close();https://stackoverflow.com/questions/792289
复制相似问题