使用 Entity Framework 4.0 复合数据库键

2023-11-27

我们公司对大型数据库的重新设计,在数据库上大量使用了复合主键。

忘记性能影响,在实体框架 4.0 中使用此数据库时这会造成任何困难吗?数据库结构不太可能改变,我不是在寻找“哲学”辩论,但实际影响是什么?

根据杰里米·米勒,“复合键通常会使任何类型的对象/关系映射和持久性变得更加困难。”但他并没有真正说出原因。这与 Entity Framework 4.0 处理键的方式相关吗?


不,EF4 可以很好地支持复合键。

问题是带有代理键和复合键的表。每个型号只能设置一个按键;该键可以有多个字段,但从设计者的角度来看只能有一个。不确定手动编辑 xml 或仅代码映射。

如果您需要在同一个表上使用复合键和代理键,则可以将字段设置为标识而不是键。 Identity ( Id ) 字段不会被 ObjectContext 或 ObjectStateTracker 使用,但会递增并且可以查询。

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

使用 Entity Framework 4.0 复合数据库键 的相关文章

  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • 将平面集合转换为层次集合的递归方法?

    我已经被这个问题困扰了几天 希望得到一些想法或帮助解决它 我有一个对象集合 public class Hierarchy public Hierarchy string iD string name int level string par
  • 实体框架:无需映射即可调用存储过程

    有没有一种方法可以在不使用实体框架函数映射的情况下使用存储过程 这很好 但是当向存储过程添加任何更改时 这完全是垃圾 我知道您可以刷新存储过程映射 但事实并非如此高效的 大多数时候 当您更新映射时 它不会检测到更改 这是非常烦人的 到目前为
  • 返回带有列表对象的列表对象

    我有三个表 汽车品牌 汽车型号 和 CarsandModel 我有 Carsand 模型表 因为一个模型可以由多个制造商构建 我想返回包含汽车型号列表的汽车品牌列表 我现在的长篇大论不是过滤汽车型号的汽车制造商列表 我尝试添加一个 wher
  • 包管理器控制台中缺少文件错误

    我们的开发团队的一些成员在打开包管理器控制台时开始看到以下错误 它完全阻止我们运行实体框架命令 我们已经检查过并且提到的文件确实存在 GetEvent types ps1xml Diagnostics Format ps1xml Diagn
  • EF 是否可以自动删除未删除父级的孤立数据?

    对于使用 Code First EF 5 beta 的应用程序 我有 public class ParentObject public int Id get set public virtual List
  • 实体框架多表多对多

    我正在使用 EF4 1 Code First 并尝试创建一些需要链接表的多对多关系表 请参阅下面的一小段代码 class Event int EventId get set ICollection
  • 在 LINQ 中按 Id 连接多表和分组

    我想按categoryId显示列表产品的名称组 这是我的代码 我想要我的视图显示结果 Desktop PC HP Red PC Dell Yellow PC Asus Red SmartPhone Lumia 720 Blue 我的组模型
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • 我有三个共享相同数据库的项目,在所有项目中使用 EF 的最佳方法是什么?

    我有三个项目 WCF 项目 而不是客户端 我有一个数据库供所有项目使用 现在我将如何使用 EF 我应该创建第四个项目 其中包含数据库上下文和实体 然后在所有三个项目中添加对它的引用吗 或者我应该为每个项目提供单独的上下文 然后添加每个项目所
  • 使用实体框架查找 SQL 表中的所有重复记录

    我想创建一个数据网格 其中包含所有同名的记录 我有这张表 Shop ID name adress city 1 name1 adress 1 city1 2 name 2 adress2 city2 3 name 2 4 name 2 ci
  • 从 SQL Server 表中获取随机行数

    我正在尝试使用快速方法从一个大表 超过 100 万行 中获取 5 个随机行数 到目前为止 我已经使用这些 SQL 查询进行了测试 Method 1 Select top 5 customer id customer name from Cu
  • LINQ to Entities 查询中的可重用谓词表达式

    在我们的应用程序中许多不同查询中出现的一组特定条件已经慢慢变得更加复杂 为了避免重复此代码 我想将这些条件拆分为一个方法 该方法将条件作为表达必要时可以依次应用 public Expression
  • EF CF:带有附加信息的多对多关系

    我们有遗留数据库 并将新对象和道具映射到旧表和列 到目前为止 一切都很好 我们有已成功映射的多对多关系 中间表包含附加数据 当我们尝试将中间表映射到对象时 我们会得到映射已定义的异常 如果我们从关系的任何一侧删除映射 我们都会收到表丢失的错
  • 从 LINQ 查询获取第一个结果 - 为什么 First() 成功时 ElementAt(0) 失败?

    我有一个方法添加学生 它查找同名学生 如果存在同名学生 则从数据库中返回现有学生 否则创建一个新学生并将其添加到数据库中 我很好奇为什么se students First
  • 实体框架和不区分大小写的字符串搜索

    我有一个实体框架实体 其字符串属性名为 描述 搜索描述包含字符串的所有实体非常简单 var res from u ctx Users where u Description contains str select u 但是假设我想支持不区分
  • 在 WebAPI OData 请求中包含相关实体

    有没有办法在 OData 请求中包含相关实体 例如 我有一个 Person 实体和一个 Task 实体 这种关系是一对多的 一个人有很多任务 如果我使用 OData 请求查询数据 odata Person 要获取所有 Person 实体 返
  • Entity Framework Core - 在 Queryable 中使用扩展方法

    我有以下查询 db Users AsQueryable Where u gt u Id userResolver LoggedUserId u Packages Where p gt p StatusId int PackageStatus
  • Linq Any 始终返回 true

    我已经使用 Linq to Entities 多年 但这是我第一次遇到这个问题 我有Tips and Items表 每个提示可以有很多项目 我的数据库中只有 3 个项目 编辑项目时 我想确保GivenId对于具有相同提示的项目 字段是唯一的
  • 在实体框架中不使用 Dispose 或 using()

    我一路上正在编写一个网络应用程序并学习实体框架 如果我做错了什么 我很好奇 我在查询时没有使用过 dispose 或 using 语句 我的存储库示例 public User GetUserById int sessionId var us

随机推荐

  • 避免 Android Market 对可选使用位置进行过滤

    在我的应用程序中 我尝试使用位置信息 如果可用 因此 我的清单中有这些权限 e g
  • 对列中的每个单元格应用函数并将结果添加到新列

    我有一个 data table 如下所示 我想要的是将一个函数应用于 C 列中的每个元素 该函数将接受一个向量 因为 Col C 包含向量元素 并返回另一个向量 应将所得向量添加到新列中 A B C 1 16 151 c 2579 2659
  • Yii框架登录后重定向页面

    我是 Yii 框架的新手 在 Yii 中 当您默认登录时 它会重定向到索引页面 我希望当我登录 Yii 时 页面将重定向到另一个页面而不是索引页面 那么任何人都可以帮助我吗 任何帮助或建议将非常感激 edit 当我使用用户模块时 重定向将如
  • 显示与线连接的树视图项目?

    有没有办法让树视图在展 开项目时显示连接项目的线 Thanks 您必须替换 TreeViewItem 控件模板才能实现这一点 看着MSDN 上的这个线程应该有您需要的所有信息
  • XSLT:更改节点内部文本

    我需要转换以下 xml 文档 a b b a
  • pandas散点矩阵显示相关系数

    我试图找到一种方法来显示 pandas 散点矩阵的下三或上三中的相关系数 有人能指出我正确的方向吗 谢谢 一个最小的工作示例 import matplotlib pyplot as plt import pandas as pd impor
  • Foundation 5 顶栏在 Rails 4 中无法一致工作

    我在 Rails 4 应用程序中使用 Foundation 5 当我发送请求时 顶栏菜单工作正常 我可以悬停项目和嵌套项目没有问题 然后 我单击其中一个项目 该项目具有与其关联的 link to 方法 有时它会给出正确的结果 我的菜单仍然可
  • 向量值多元函数中的插值

    在Python中 我试图构建一个在多维 5 参数空间中插入向量值数据的例程 即我有一个函数 它接受多个输入变量并返回多个输出变量 目前 向量的每个元素都有一个调用 数据位于列式文件中 因此我使用以下命令检索它 import numpy x
  • 在 CollectionView 上的滚动需求上加载更多数据

    我正在 collectionView 上实现一项功能 其中用户滚动底部的 collectionView 20 个项目 并从服务器请求另一组数据 另外 20 个项目 我已经实施了以下两种方法 但我想知道哪种方法更好 或者还有其他我不知道的更好
  • Grailsquartz 插件在 Tomcat 中部署时不起作用

    我有一个使用 Grails 开发的 Web 应用程序 我正在尝试实现一个后台进程 使用 Grails 的quartz1 0 RC9 插件每 5 分钟扫描一次数据库中的表 在尝试编写实际逻辑之前 我正在学习如何使用该插件 因为我是石英新手 因
  • 将省略号添加到 WinForms 程序中的路径,无需 Win32 API 调用(重新访问)

    我正在寻找一种在 C 路径中插入省略号的方法 并在 stackoverflow 上找到了答案 没有 Win32 API 调用的 C 路径省略号 使用VS2010和 Net 4 0的RTM版本 我无法让建议的方法起作用 我搜索了 Net并找到
  • BackgroundWorker多线程访问表单

    我出于某种目的使用同时运行的 5 个 BackgroundWorker 对象 并且所有这些对象都必须更改相同的标签 我怎么做 那么如何从多个线程修改表单呢 如果我想更改公共字符串 我该怎么做 将 Control Invoke 与委托一起使用
  • 在层次结构中移动 UIView 时保留位置(就地粘贴)

    在 Xcode 4 IB 中 有没有一种方法可以将一堆子视图从一个超级视图移动到另一个超级视图 而不破坏它们当前的布局 这应该非常简单 但是当我尝试在视图树中复制 粘贴或移动它们时 它们都会移动到一个位置 例如 在添加一个额外的视图来保存表
  • 两个字符串的连接不起作用[重复]

    这个问题在这里已经有答案了 我有以下代码 但它不起作用 CHARACTER 260 xx yy zz xx A yy B zz xx yy 当我在 Visual Studio 中调试代码时 多变的xx包含 A 多变的yy包含 B 多变的zz
  • 无法设置 pandas 数据框的索引 - 获取“KeyError”

    我生成一个看起来像这样的数据框 summaryDF accuracy f1 precision recall 0 0 494 0 722433 0 722433 0 722433 0 0 290 0 826087 0 826087 0 82
  • 一个broadcastReceiver可以捕获多个广播吗?

    我正在尝试创建多个接近警报 但无法让它工作 我认为广播接收器被覆盖 因此只处理最后一个广播 因此 如果我有两个点靠近 只有最后创建意图的点才会生成警报 我读到我应该使用请求代码 但我不知道该怎么做 我设置待处理意图和广播接收器的方法 pri
  • Subclipse 错误 - Subversion 本机库不可用

    每次加载基于 Subversion 的 PHP 项目时 我都会收到以下消息 显然 操作系统是 Mac OSX Mountain Lion 我也按照链接中的说明进行操作 但它仍然完全随机出现 不过 颠覆行动似乎效果不错 从主菜单中选择 窗口
  • 带参数绑定的 ActiveRecord 选择

    我想将子查询与 ActiveRecord 一起使用 如下所示 User select users select sum amount from subscriptions where subscriptions user id user i
  • Flex 图表:仅显示特定系列的数据提示?

    我有一个LineChart包含多个系列 两者LineSeries and PlotSeries 而且我有一个习惯dataTipFunction为图表设置 但是 我只想显示线系列的数据提示 而不是绘图系列 我尝试过返回null来自我的格式函数
  • 使用 Entity Framework 4.0 复合数据库键

    我们公司对大型数据库的重新设计 在数据库上大量使用了复合主键 忘记性能影响 在实体框架 4 0 中使用此数据库时这会造成任何困难吗 数据库结构不太可能改变 我不是在寻找 哲学 辩论 但实际影响是什么 根据杰里米 米勒 复合键通常会使任何类型