私はエンティティのセットを持っていますそれらはすべて抽象クラスから派生しています
public abstract class NamedEntity : INamedEntity
{
#region Public Properties
public string Description { get; set; }
public string Id { get; set; }
public string Name { get; set; }
#endregion
}
Name
すべてのエンティティを永続化するとき、フィールドをキーとして使用したいので、そのDocumentKeyGenerator
ような実装をオーバーライドして提供します。
store.Conventions.DocumentKeyGenerator = entity =>
{
var namedEntity = entity as NamedEntity;
if (namedEntity != null)
{
return string.Format("{0}/{1}", store.Conventions.GetTypeTagName(entity.GetType()), namedEntity.Name);
}
return string.Format("{0}/", store.Conventions.GetTypeTagName(entity.GetType()));
};
エンティティのリストを初めて永続化する場合は正常に機能しますが、再度永続化する場合は例外が発生します
PUT attempted on document 'xxxxx' using a non current etag
RavenDBを使い始めたばかりなので、何が間違っているのか理解できませんか?