Serialize DetachedCriteria with nHibernate

I am trying to serialize DetachedCriteria, so I can save it to the database and reuse the same criteria later. When I run the code below, I get "NHibernate.Criterion.DetachedCriteria cannot be serialized because it does not have a constructor without parameters."

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();

Is there a good way to serialize DetachedCriteria?

+3
source share
1 answer

- . DetachedCriteria, . , , DetachedCriteria, , . , CriteriaImpl, DetachedCriteria, .

XmlSerializer, , , .

:

NHibernate DetachedCriteria?

, ( ):

// 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();
+1

Source: https://habr.com/ru/post/1707170/


All Articles