gpt4 book ai didi

c# - Mongodb NoRM 和 POCO

转载 作者:可可西里 更新时间:2023-11-01 10:35:48 31 4
gpt4 key购买 nike

我正在 C# 中试验 Mongodb 和 NoRM。

据我所读,在 Mongodb 中唯一标识文档的 ObjectId 是一种“特殊”Guid(在唯一的意义上),但其中有一些重要部分允许更容易排序和索引(时间戳,机器哈希,processId 和增量)。

我想让我的对象保持真正的 POCO,使用自动生成的 Guid 作为 Id,这样就没有像 ObjectId 这样的外部类型,这会阻止我迁移到另一种技术或回到经典的 Ado.net 或 Nhibernate 东西。

另一种选择是在 POCO 中使用 Id 作为字符串并使用 ObjectId.NewObjectId().ToString()

它的最佳实践是什么?

最佳答案

ObjectId 不是 guid。 Guid 是 MS 为他们使用的 UUID 版本提供的名称。 ObjectId 是一种完全不同的算法。

也就是说,您可以在 mongo 中使用任何您喜欢的 ID 作为 ID,并且不会有性能损失(在 rails 世界中,一些 ORM 提倡使用字符串)

在 mongo 中使用 ObjectId 主要是为了节省大小。如果这有什么大不了的,就用别的东西,只要意识到使用不必要的大 ID 字段最终只会浪费内存。但如果这很重要,那就去找 Guids。

关于c# - Mongodb NoRM 和 POCO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4125275/

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