- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我目前正在为此对象 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/
我目前正在为此对象 fe 使用 Marten 的默认 Id 实现 public class DbOBject { public string Id { get; set
我尝试添加一个新的“自定义”序列到我的Marten DB中,以获取新用户的用户ID(在注册过程中)。。后来,我能够访问下一个序列值,如下所示:。问题出在上面的代码中:在第一次运行时:将userid_s
我是一名优秀的程序员,十分优秀!