自定义类型作为主键

2023-12-20

我目前正在 Visual Studio 2015 上使用 EF6 代码优先。 我正在开发一个数据库,我想使用用户定义的类型作为主键。

这是我想要的一个简单示例:

public class ObjectIdType
{
    public string id { get; set; }
}

这将是用户定义的类型。

public class ClasseProva
{

    [Key][DatabaseGenerated(DatabaseGeneratedOption.None)]
    public ObjectIdType Id { get; set; }

}

这将是我想要使用自定义类型作为 PrimaryKey 的实体。

当我像示例一样执行此操作时,当我尝试创建控制器时会发生错误,错误是:属性类型不是有效的键类型。

我发现你只能使用标量类型作为 PK,但我想知道我是否让我的 ObjectIdType 从 String 继承它会起作用吗? 我尝试这样做(显然不起作用):

public class ObjectIdType : String
{
    public string id { get; set; }
}

有什么方法可以将我的 ObjectIdType 定义为从 String 继承吗?或者有什么办法可以让用户自定义类型成为PK?


有什么方法可以将我的 ObjectIdType 定义为从 String 继承吗?

不,绳子是密封的。

或者有什么办法可以让用户自定义类型成为PK?

不是100%确定,但我认为你不能这样做。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自定义类型作为主键 的相关文章

随机推荐

  • Asp.Net Core 5 API Web像WCF一样以流模式上传大文件

    我需要在用 asp net core 5 制作的网络服务器上以流模式 一次一个 上传一个大文件 7GB 配置服务器端 public class Program public static void Main string args Crea
  • 将 XML 数组转换为 XML 时出现奇怪的文本

    我使用这个问题的答案将 XML 数组转换为单个 XML 输出 将 XML 数组输出为纯 XML https stackoverflow com questions 2554671 output array of xml to plain x
  • 为什么这个救援语法有效?

    好的 我正在使用的应用程序有这种方法 并且它可以在生产中使用 我的问题为什么这有效 这是新的 Ruby 语法吗 def edit load elements current user unless current user role adm
  • AWS Elastic Beanstalk 中的自定义 URL

    AWS Elastic Beanstalk 建议使用以下格式的 URL https appname elasticbeanstalk com 但我需要将其更改为我自己的网址 例如https tarta ai 怎么做 Note 我的域使用 A
  • 如何在GDB中像数组一样查看指针?

    假设定义 int a 100 Type print a然后 gdb 会自动将其显示为数组 1 2 3 4 然而 如果a作为参数传递给函数 那么gdb会将其视为普通的int指针 类型print a将显示 int 0x7fffffffdaa0
  • 如何在UI底部的固定位置设置一个按钮?

    我希望一个按钮始终出现在 UI 页脚的固定位置 总是 无论它上面是否有组件 请在您的主布局下选择一个相对布局 将其高度和宽度设置为填充父项 并将其重力设置为底部 然后将任何文本视图或任何您想要的按钮放入其中
  • setup.py - 安装后将模块符号链接到 /usr/bin

    我几乎完成了 python 包的开发 并且还使用 distutils 编写了基本的 setup py usr bin env python author Prahlad Yeri description Small daemon to cr
  • 在外部 JavaScript 文件中使用 KnockoutJS ViewModel

    如何在外部 JS 文件中创建 KO JS ViewModel 然后在 html 文件中使用它 这看起来是一件很简单的事情 但我无法让它工作 也找不到任何关于如何做到这一点的明确信息 如果我忽略了 我会道歉 如果有人能指出我的答案 我会删除它
  • 使用字段数将文件拆分为更小的文件

    我很难将一个大的 50GB csv 文件分解成更小的部分 每行有几千个字段 一些字段是双引号中的字符串 其他字段是整数 小数和布尔值 我想逐行解析文件并按每行中的字段数进行分割 字符串可能包含多个逗号 例如 以及许多空字段 1 30 50
  • Delphi 2007 和 Logitech 网络摄像头驱动程序

    不久前 我遇到了 Delphi 2007 在 Logitech 网络摄像头驱动程序运行时无法运行和调试应用程序的问题 显然 罗技驱动程序会在每个正在运行的进程中插入一个存根 从而弄乱调试器的偏移量 已经一年多了 这仍然是一个问题吗 罗技是否
  • 如何在不调用 java.lang.String 的情况下检查 clojure 中字符串的相等性?

    clojure 有没有办法检查字符串的相等性 即我需要知道它们的内容是否相等 而不是位置 thanks Clojure 中的平等 函数 总是测试值 而不是身份 所以两个字符串是 如果它们有相同的内容 对于大多数 Java 类型 包括 Str
  • 使用 MongoDB 代替 MS SQL Server 的优点和缺点 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我是 NoSQL 世界的新手 正在考虑将 MS Sql Server 数据库替换为 MongoDB 我
  • 如何在 build.gradle 中检索 ADB 的路径

    我尝试通过启动应用程序gradle task task runDebug dependsOn installDebug run task run type Exec commandLine adb shell am start n com
  • 使用附加值扩展枚举

    延长期限的常见做法是什么enum在C语言中 我有enum来自其他包含的内容 并希望用一些值来扩展它们 希望以下示例能够为我想要实现的目标提供直观的信息 include
  • std::thread 不是使用 Eclipse Kepler MinGW 的命名空间 std 的成员

    我正在尝试编译一个简单的 C 程序 该程序在 eclipse kepler mingw 4 8 1 和 win32 上使用 std thread 我希望在多年的 Windows 开发之后 有一天能将开发转移到 Linux include t
  • 如何在c中使用fread()读取结构体的内容

    我有以下代码 我试图读取文件的内容并显示它并写入另一个文件 我的问题是我在屏幕上看到的内容与文件的内容完全不同 我已经把文件的部分内容和显示的结果的部分 include
  • CDN 库在 Chrome 中被屏蔽

    我在网站上使用传单 OSM 制作小地图 该网站本身可通过 HTTPS 访问 而传单库 据我所知 只能通过 HTTP 连接检索 现在 Chrome 不包含该库 并在控制台中显示以下消息 blocked The page at https ex
  • VBA计算数组的非空元素

    菜鸟问题 我想计算数组的非空元素 我的尝试 Dim Arr 1 To 15 As Double populating some of the elements of Arr Dim nonEmptyElements As Integer i
  • Android 中的 AdMob“AdView 缺少必需的 XML 属性‘adSize’”

    我正在尝试在我的应用程序中实施 AdMob 但不知道它以某种方式显示此错误 并且我的 R java 文件因此没有生成 我已经尝试了所有方法来解决这个问题 例如 Clean Build Build All 但非对我有用 按照我的代码片段 其中
  • 自定义类型作为主键

    我目前正在 Visual Studio 2015 上使用 EF6 代码优先 我正在开发一个数据库 我想使用用户定义的类型作为主键 这是我想要的一个简单示例 public class ObjectIdType public string id