gpt4 book ai didi

c# - Raven DB - 让它自动生成自己的 key

转载 作者:太空狗 更新时间:2023-10-29 22:53:50 26 4
gpt4 key购买 nike

我目前有一个对象,它有一个名为 Id 的公共(public)属性。当我存储对象时,我希望 Id 成为数据的一部分,而不是像当前那样成为文档 Id。创建文档存储时,我只设置了连接字符串。

using (var session = documentStore.OpenSession())
{
session.Store(a);
session.SaveChanges();
}


a can be thought of an object as:
public class A
{
public Guid Id { get; set; }
//other properties
}

因此,要么我希望它生成一个随机 Id,要么将数据和 documentId 都作为类 A 的 Id 属性。

编辑:

所以两种可能:1.文档Id=Id和

Data Section contains:
{
data //sorry if the notation is not correct, doing it off of memory
{
Id: [my guid]
//other properities
}
}

或者包含 Id 和 Document ID 的数据 = 由 raven 随机生成

最佳答案

如果您希望 Id 成为您自己控制的属性并让 raven 使用另一个属性作为文档 ID,则可以使用它:

public class User
{
public string DocumentId { get; set; }
public Guid Id { get; set; }
public string Name { get; set; }

public User()
{
Id = Guid.NewGuid();
}
}

documentStore.Conventions.FindIdentityProperty = prop =>
{
if (prop.DeclaringType == typeof(User))
return prop.Name == "DocumentId";

return prop.Name == "Id";
};

关于c# - Raven DB - 让它自动生成自己的 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8767273/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com