EntityFramework Core Fluent 模型生成器键和属性

2024-04-12

好的,在实体框架 6 中,我将在一个语句中生成键和属性数据库:

modelBuilder.Entity<Function>()
                .HasKey(x => x.Id)
                .Property(x => x.Id)
                .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);

在实体框架核心(7)中,这不起作用:

modelBuilder.Entity<Function>()
                .HasKey(x => x.Id)
                .Property(x => x.Id)
                .ValueGeneratedNever();

错误:“‘KeyBuilder’不包含‘Property’的定义,并且没有扩展方法‘Property’接受类型为‘KeyBuilder’的第一个参数”:

这是否必须是如下两个单独的语句,或者是否有办法像在 EF6 中一样将其放在一个语句中?

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<Function>()
                    .HasKey(x => x.Id);

    modelBuilder.Entity<Function>()
                    .Property(x => x.Id)
                    .ValueGeneratedNever();
}

是的,它们在 EF Core 中是分开的。

原因是因为 EF6 方法允许您指定 PK 列,仅此而已,因此返回EntityTypeConfiguration<TEntityType>(与从获得的目标相同Entity<...>调用),这就是为什么您可以继续流畅地配置实体类型。

然而 EF Core 方法返回一个不同的类型,称为KeyBuilder它允许您进一步配置 PK,例如HasName对于关系约束名称,或特定的数据库属性,例如ForSqlServerHasName and ForSqlServerIsClustered etc.

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

EntityFramework Core Fluent 模型生成器键和属性 的相关文章

  • 使用实体框架时是否应该使用部分类作为业务层?

    我正在开发一个使用实体框架的项目 使用EF生成的类的部分类作为业务层可以吗 我开始认为这就是 EF 的用途 我尝试使用 DTO 模式 很快意识到我只是创建了一堆映射类 这重复了我的工作 而且还导致更多的维护工作和额外的层 我想使用自我跟踪实
  • 按成员序列化

    我已经实现了template
  • 查找c中结构元素的偏移量

    struct a struct b int i float j x struct c int k float l y z 谁能解释一下如何找到偏移量int k这样我们就可以找到地址int i Use offsetof 找到从开始处的偏移量z
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • C#中如何移动PictureBox?

    我已经使用此代码来移动图片框pictureBox MouseMove event pictureBox Location new System Drawing Point e Location 但是当我尝试执行时 图片框闪烁并且无法识别确切
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 显示UnityWebRequest的进度

    我正在尝试使用下载 assetbundle统一网络请求 https docs unity3d com ScriptReference Networking UnityWebRequest GetAssetBundle html并显示进度 根
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • C# 成员变量继承

    我对 C 有点陌生 但我在编程方面有相当广泛的背景 我想做的事情 为游戏定义不同的 MapTiles 我已经像这样定义了 MapTile 基类 public class MapTile public Texture2D texture pu
  • 测试用例执行完成后,无论是否通过,如何将测试用例结果保存在变量中?

    我正在使用 NUNIT 在 Visual Studio 中使用 Selenium WebDriver 测试用例的代码是 我想在执行测试用例后立即在变量中记录测试用例通过或失败的情况 我怎样才能实现这一点 NUnit 假设您使用 NUnit
  • 哪种 C 数据类型可以表示 40 位二进制数?

    我需要表示一个40位的二进制数 应该使用哪种 C 数据类型来处理这个问题 如果您使用的是 C99 或 C11 兼容编译器 则使用int least64 t以获得最大的兼容性 或者 如果您想要无符号类型 uint least64 t 这些都定
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • 批处理核心数据获取结果

    我正在执行一个返回大约 2000 个实体的获取请求 目前 在我的设备上这大约需要 20 秒 所以我想我可以将获取限制设置为 100 然后当用户滚动到表视图的末尾时 获取接下来的 100 个实体 这可以通过使用来完成NSFetchReques
  • 不同的视图取决于 ContentControl (Caliburn.Micro)

    我将 ViewModel 绑定到 ContentControls 并让 Caliburn 负责创建和绑定视图 但是 我想根据我绑定到的 ContentControl 自定义 Caliburns ViewModel gt View 约定 例如
  • 如何从 xml 构建 .xsd 文件?

    有没有办法从 xml 文件生成 xsd 是否有任何类文件可以执行此操作 我不介意解决方案是 c 还是 java 我想用代码来做到这一点 但如果有任何好的免费工具也可以 Thanks xsd exe http msdn microsoft c
  • 如何伪造 Perl 钻石运算符的输入?

    这个问题的答案 https stackoverflow com questions 1213986 how can i fake stdin in perl描述如何伪造输入
  • Google API 获取文档/电子表格的内容

    我想将 Google 文档的内容显示到我自己的页面中 我可以使用以下方式获取所有文档的列表 http code google com apis documents docs 2 0 developers guide dotnet html
  • 在 Mac 上安装后使用 ALTER USER 语句重置 MySQL root 密码

    我最近安装了MySQL 安装后似乎必须重置密码 它不会让我做任何其他事情 现在我已经按照通常的方式重置了密码 update user set password password XXX where user root 顺便说一句 我花了很长
  • 这个 JPA“缓存 hashCode”模式是否有任何问题?

    我当时在 hibernateIRC 和某人与我分享了以下 部分 模式 Entity public MyEntity primary key object properties getters setters go here Column n
  • Jquery 包装AllInner() ? -- 或者内部应用wrapAll()?

    我正在尝试插入一个开口 div class container after 和一个结束语 div before 我希望有一个类似的功能wrapAll 这将适用于内部html 一个元素的 就像是wrapAllInner 会很好 我试过了 1
  • 如何通过蓝牙读取Leica DISTO的数据?

    我有一台 Leica DISTO D3a BT 它是一个测量设备 通过蓝牙发送测量结果 我编写了一些代码来获取蓝牙流 我收到了数据 但总是收到 错误 240 消息 这意味着 从用户手册来看 我不确认数据传输是否成功 我该怎么做 这是我的代码
  • Kohana 3:经过验证的模型示例

    我找到有关模型和验证的示例和教程 我说验证 或至少大部分 应该在模型中 我同意这一点 但我无法提供任何示例或教程来说明应该如何完成此操作 谁能帮我举一个简单的例子来说明如何做到这一点 模型中的规则在哪里 验证将在哪里进行 控制器如何知道验证
  • DDD和应用层

    我在DDD中添加 Stateful Stateless WebService等是应用层 应用服务 吗 从下面的链接来看 这似乎是正确的 第二个问题 我创建了一个存储库类 所有涉及存储库的方法调用都应该包装在应用程序服务中吗 或者我可以直接在
  • 删除 Firefox Web 扩展不会清除 chrome.storage.local

    好像chrome storage local即使卸载了扩展程序 也会继续存储任何数据 此行为在 Chrome 中未观察到 仅在 Firefox 中观察到 关于如何修复它有什么想法吗 这是错误 1213990 https bugzilla m
  • 非连续整数 C++ 枚举的最佳方法是什么

    继C 枚举模式 https stackoverflow com questions 12972317 count on enum c automatic我已经在这里描述过 我试图做类似的事情 但这次我想要使用的值序列不包含连续整数 代码显然
  • MS Access 无法链接到加密的后端数据库

    我有一个难题 我已经开发了一个 Access 应用程序 并准备分发它 我刚刚分割了数据库 我知道 有人说我应该从一开始就分开开发它 我没有 我还刚刚加密了后端数据库 在前端 我已链接到后端并在出现提示时输入正确的密码 链接的表现在出现在我的
  • 如何将嵌入窗口内的实时控制台会话添加到 Light Table?

    如果在 LightTable 的子窗口中嵌入一个控制台 可以减少所有编程语言开发过程中打开的窗口数量 那就太好了 最好这适用于所有平台 但至少有一个适用于 Linux 的平台会非常好 None
  • 由 create-react-app 创建后立即添加包不起作用

    我的反应很新 一天前开始 我使用 create react app 命令行来创建应用程序 我按照以下顺序尝试了 创建反应应用程序我的应用程序 npm 启动 此时应用程序运行良好 然后我做了以下事情 npm 安装 youtube api se
  • 在Android中我怎样才能知道当前的通知ID来清除通知

    现在在 android 中 我将此代码放入一个活动中 以便在按下按钮时显示通知 static int notificationCount 0 then btnNotification setOnClickListener new View
  • React Native Fetch:第二个承诺挂起

    React Native 的 fetch 出现了奇怪的问题 它以前可以工作 不确定我改变了什么 但它停止工作了 login data success fail console log doing fb login fetch host ap
  • 如何在 Laravel 4 中使用参数和 CASE 语句进行更新查询

    我正在尝试创建带有参数的 mysql UPDATE 查询 此外 如果字段不为空 我想附加到字段的末尾 为此 我使用 CASE 语句 这是我对学说的疑问 来自 silex query UPDATE table SET filed CASE W
  • EntityFramework Core Fluent 模型生成器键和属性

    好的 在实体框架 6 中 我将在一个语句中生成键和属性数据库 modelBuilder Entity