RavenDB SaveChanges() not saving properties on derived class ([DataMember] used in other class)
我最近升级到 build 2230,一切正常。但是,我刚刚更新了 RavenDB .NET 客户端程序集,现在我遇到了这个问题。
此代码已经使用了一年左右。这就是我保存的方式:
1 2 3 4 5 6 7 8 | public void Save(EntityBase objectToSave) { using (IDocumentSession session = GetOptimisticSession()) { session.Store(objectToSave, objectToSave.Etag); session.SaveChanges(); } } |
这就是我要保存的对象。
1 2 3 4 5 | public class InstallationEnvironment : EntityBase { public string Name { get; set; } public int LogicalOrder { get; set; } } |
现在是基类:
1 2 3 4 | public class EntityBase : NotifyPropertyChangedBase { public string Id { get; set; } // Required field for all objects with RavenDB. } |
问题是基类属性 (Id) 在 RavenDB 中得到持久化,但派生属性 (Name, LogicalOrder) 没有。
为什么只有基类属性会保存在 RavenDB 中?
知道了。通过反复试验,我注意到一个派生属性被保存(在与我的问题中显示的不同的类上),并且该属性用
正如 Ayende 在这里所说,您必须在所有属性上使用
注意:这对我来说是个问题,即使