我最近升级到 build 2230,一切正常。但是,我刚刚更新了 RavenDB .NET 客户端程序集,现在我遇到了这个问题。
该代码已经存在一年左右。这就是我保存的方式:
public void Save(EntityBase objectToSave)
{
using (IDocumentSession session = GetOptimisticSession())
{
session.Store(objectToSave, objectToSave.Etag);
session.SaveChanges();
}
}
这就是我要保存的对象。
public class InstallationEnvironment : EntityBase
{
public string Name { get; set; }
public int LogicalOrder { get; set; }
}
现在是基类:
public class EntityBase : NotifyPropertyChangedBase
{
public string Id { get; set; } // Required field for all objects with RavenDB.
}
问题是基类属性 (Id) 在 RavenDB 中被持久化,但派生属性 (Name, LogicalOrder) 不是。
为什么只有基类属性会保存在 RavenDB 中?