使用 MongoDB 作为我的数据存储使我默认将 ObjectID 类型作为主键。它也可以通过使用带有 [BsonId] 属性的 Guid 来更改。这也在 MongoDB C# 驱动程序库中定义。我想让我的实体独立于数据层。 我可以只使用属性的名称 Id 来标识主键吗?我还能尝试什么?
最佳答案
您可以使用 BsonClassMap而不是使用属性来保持您的类“干净”。
// 'clean' entity with no mongo attributes
public class MyClass
{
public Guid Id { get; set; }
}
// mappings in data layer
BsonClassMap.RegisterClassMap<MyClass>(cm =>
{
cm.AutoMap();
cm.MapIdMember(c => c.Id).SetIdGenerator(CombGuidGenerator.Instance);
});
关于C# + MongoDB - 不使用 MongoDB 数据类型/属性的 ObjectId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34796735/