0

虽然 DataObjects.NET 有很多值得喜欢的地方,但我发现帮助资源很精简,并且找不到将 DataObjects.NET 与 RDBMS 生成的主键一起使用的唯一示例。似乎 D4O 不会对 SQL Server 执行插入操作,除非它控制了密钥。

有没有人在野外解决这个问题?

4

2 回答 2

2

没有简单的方法让 DO4 使用 IDENTITY 列 - 主要是因为它被设计为依赖于批量密钥生成(又名 HiLo 算法)。

AFAIK,这里没有好的解决方法。例如,DO4 支持自定义密钥生成器,但开发一个依赖 IDENTITY 列的生成器非常复杂 - 事实上,它应该批量插入假记录并进一步删除它们(或回滚事务)才能工作。考虑到可能存在具有唯一约束的列,任务变得非常复杂。

我们会考虑在未来实现这一点。

于 2010-05-22T18:38:13.570 回答
0

您可以像这样使用 Key 属性:

[Field, Key]
public int Id { get; private set; }

更多信息:https ://help.dataobjects.net/#DataObjects.Net%20v5.0/06-Keys.html

于 2020-08-06T23:02:00.283 回答