我在我的项目中使用流利的nhibernate。在内部,流利的nhibernate使用以下代码执行DeepClone
(reference):
using (var stream = new MemoryStream()) {
var formatter = new BinaryFormatter();
formatter.Serialize(stream, obj);
stream.Position = 0;
return (T)formatter.Deserialize(stream);
}
不幸的是,这不适用于 mono ,因为这些代码会调用
System.Collections.Generic.HashSet<T>.GetObjectData
(System.Runtime.Serialization.SerializationInfo info, StreamingContext
context)
尚未实现(抛出NotImplementedException
)。
是否有人知道可在单声道上运行的深层克隆代码?
答案 0 :(得分:3)
我认为您应该报告bugzilla.xamarin.com中的错误(标题为“FluentNHibernate不能与Mono一起使用”等等,而不是只关注他们已经知道的NIE)。