- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我有一个小数据库挑战要问你。希望您能提供帮助。
我需要一个允许我“处理”主键/复合键更改的解决方案。经过“处理”,我的意思是我应该仍然能够在很少或没有代码更改的情况下执行 CRUD 操作。从应用程序/数据库的角度来看,它需要有最少的麻烦。
我被允许在阳光下使用几乎任何东西,除了以下 2 个限制:1)需要使用SQL Server2)不允许使用动态SQL查询
a) 它能以某种方式在存储过程级别解决吗?
b) 可以通过适配器模式/反射/数据库模式询问巧妙地使用 DTO 来解决这个问题吗?
c) 某种奇特的 LINQ/反射技巧?
d) NHibernate 能以某种方式解决这个问题吗?
我有一点时间压力(我必须在本周末之前想出解决方案),因此我们将不胜感激。所以,就在这里。如果你认为你可能有一个解决方案但不想使用任何脑细胞,这里有一个激励(希望它会起作用)......如果你的解决方案为我解决了问题并且我最终使用它,你将获得完全许可您选择的任何 Microsoft 软件的商业(非盗版:P)版本,例如。 Windows 7、SQL Server、Office 2007 等。如果奖励不起作用,我希望你能帮助我吗? :-) 这里有点绝望:-)
非常感谢。
最佳答案
假设您有一 strip 有生成的主键的记录 - 这只是该记录的一个不可变标识符。最终用户永远不需要看到它,但它允许您可靠地识别记录并因此指定对其的更改。
其他列或列组合是用户认为的主键,但实际上并不是“主键”,它们只是(可能是唯一的)可更改的数据片段。
所以 GivenName/FamilyName - 可能是索引的好字段,但显然是可变的。
社会安全号码(或某些类似的唯一号码)- 听起来像是一个很棒的主键。嗯,但假设以某种方式错误的进入系统,你如何修复它。如果它只是一个具有唯一索引的列,问题出在哪里?
真正的主键是我们用来连接其他表的东西。
用户——用户的订单
由系统生成的主键链接,而不是他可变的类似 SSN 的东西。
关于database - 召集所有数据库/ORM/数据访问层专家,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1392915/
随着技术的快速发展和数字化转型的深入推进,软件测试行业正面临着前所未有的变革。2024年,我们可以预见软件测试行业将呈现出几个重要的趋势将深刻影响软件测试的方式、工具和流程。它们将重塑软件测试的格局,
我正在尝试解决 Expert F# 中的一个示例,该示例基于 v1.9.2,但此后的 CTP 版本已经发生了足够的变化,以至于某些它们甚至不再编译。 我在处理 list 13-13 时遇到了一些麻烦。
我正在尝试在 Drools Expert 中编写规则。在规则的 when 部分,我检查了 Application 对象的一些属性。该对象包含一个列表,我想检查一组规则是否适用于该列表中 SomeOth
我一直在尝试自学 Lambdaj,它似乎不想随机化我的字符串数组。我是否应该将字符串添加到列表中以便能够使用 Lambdaj 处理集合。我想要做的就是获取一组字符串并使用 LambdaJ 以随机顺序打
我正在构建一个多模块 Maven 网络应用程序项目,但在我的 Tomcat 服务器上部署 WAR 时遇到了问题。 我的项目结构是 我的应用程序 我的应用架构 MyAppUtils MyAppWs 问题
所以我要在我的网站上添加一个 SVG。我还通过更改一个名为 "background-svg" 的类来调整此 svg 的大小以适合我的大部分屏幕,您将在下面的代码中看到该类。 基本上,如果您将 SVG
我有依赖性 javax.servlet com.springsource.javax.servlet 2.5.0 在我的 pom 文件中,但显示错误。 Missing ar
我在调试问题上花了几个小时只是为了让更有经验的人查看 IL(类似于 00400089 mov dword ptr [ebp-8],edx )并指出问题。老实说,这对我来说看起来像希伯来语 - 我不知道
今天,笔者将从应用原理出发,解析固态硬盘三大基础知识,看完它们,再也不用担心不会挑不会用固态硬盘啦。 1、接口篇 了解需求选对接口 目前,市面上销售的消费级固态硬盘产品中,大都是SATA接口或是
在我的 Web 应用程序中,我终于达到了实现简单要求变得势不可挡的地步。我猜是时候进行不错的重构或简单的垃圾重做了。 以下是我需要在表上实现的简单要求: 1) 使列可排序2) 卡住 2 个标题行和前
为什么这段代码: function answer(x) { function closure() { var x = x || 42; console.log(x); }
我是 Drools 的新手 我尝试将 drools 的示例 hello world 实现到我的项目中,它似乎工作得很好,但我真的被 困扰了Drools 依赖,因为我真的不知道它有什么用。只是想知道我是
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预
我知道 mySQL 5.x 不支持 INTERSECT,但这似乎是我需要的。 表 A:产品 (p_id) 表 B:Prod_cats (cat_id) - 类别信息(名称、描述等) 表 C:prod_
如何成为 jQuery no.conflict 专家? 我经常遇到 jQuery 与 Prototypes JS 的冲突错误。而且我不是 jquery 专家。 我还能解决所有的冲突问题吗。如何获得解决
我有两个 Spring Boot 项目,想将其中一个用作其他项目的 MAVEN 依赖项。 Project Scraper 依赖数据库项目 项目数据库包含数据库层(实体和 DAO 在这里构建和测试) 在
在命令行帮助中,我看到maven“检查”了更新: -U,--update-snapshots Forces a check for updated
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
数据在 A2:K2 中: =LET(txt, TEXTJOIN("", FALSE, 0, --A2:K2, 0), modTxt, SUBSTITUTE(txt, "0.5", 1), halfDa
VCL 的一个常见情况是构建一个组件,然后使用驻留在主机 Frame 或 Form 中的代码填充其事件处理程序(如果组件具有事件)。 Delphi 6 IDE 能够非常方便地将组件从其宿主 Frame
我是一名优秀的程序员,十分优秀!