gpt4 book ai didi

c# - 使用 Marten 定义多个 Id 列?

转载 作者:太空宇宙 更新时间:2023-11-03 12:33:40 26 4
gpt4 key购买 nike

我目前正在为此对象 fe 使用 Marten 的默认 Id 实现

    public class DbOBject
{
public string Id { get; set; }
public string Name { get; set; }
public int Type { get; set; }
}

现在我想将 Id 和 Type 列定义为标识符,这可能吗?

最佳答案

我认为没有一种完全直接的方法可以解决这个问题。

Marten 需要一个 Id 字段(或标记为标识符的属性)。

我会亲自创建一个由 Id 和 Type 组合而成的新字段(使用串联或您认为最易读的任何方式)。然后将其用作身份。

如果您对实现 Marten 接口(interface)感到满意并坚持使用更简洁的解决方案,我建议您阅读这些文档:

https://martendb.io/documents/identity.html#custom-identity-strategies

接口(interface)和实现的链接已损坏,但这是 Marten 身份生成的有效链接:

https://github.com/JasperFx/marten/tree/master/src/Marten/Schema/Identity

然而,这将要求您为这个特定的类拥有一个单独的 key 生成器,这实际上可能会降低您的代码的可读性(假设您还应该为其配置一个特定的商店,以便使用新的自定义生成器)。

关于c# - 使用 Marten 定义多个 Id 列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41802212/

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