gpt4 book ai didi

c# - 如何通过一次调用 Save 在 NHibernate 中更新一行并自动插入一个新行?

转载 作者:太空宇宙 更新时间:2023-11-03 16:55:03 33 4
gpt4 key购买 nike

假设我有一个 Type II SCD 数据库,基本上只能追加。我正在使用 NHibernate 将对象持久保存到我的数据库中。我有一个这样的对象:

Pony
|- int Id
|- Guid EntityId
|- string PonyName
|- string PonyColor
|- int RevisionValidFrom
|- int RevisionValidTo

这是一个典型的场景:

Pony myLittlePony = myStable.GetLatestPonyByGuid("0f1ac08a-3328-43db-b278-77c272e4fea3");
myLittlePony.PonyColor = "Fish";
myNHSession.Save(myLittlePony);

我希望能够调用 Session.Save(myLittlePony) 并让 NHibernate 将旧实体的 RevisionValidTo 更新为我指定的任何内容,然后插入修改后的 Pony 作为具有新 Id 的新行,基本上就好像它是一个全新的对象被持久化到数据库中。

最佳答案

这可以通过 custom SQL for update 来完成.

关于c# - 如何通过一次调用 Save 在 NHibernate 中更新一行并自动插入一个新行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2421599/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com