gpt4 book ai didi

NHibernate 按代码映射 (Loquacious) - 级联选项

转载 作者:行者123 更新时间:2023-12-04 01:47:11 24 4
gpt4 key购买 nike

我对使用 NHibernate Mapping By Code 时的 Cascade 枚举选项行为有疑问。

枚举有以下选项:

[Flags]
public enum Cascade
{
None = 0,
Persist = 2,
Refresh = 4,
Merge = 8,
Remove = 16,
Detach = 32,
ReAttach = 64,
DeleteOrphans = 128,
All = 256,
}

它们旨在像位标志组合一样使用(据我所知)。

我查看了 NHibernate 文档,并在那里定义了以下 XML 映射的级联选项: Lifecycles and object graphs

任何人都可以通过代码描述来自新 Nhibernate 映射的级联选项吗?其中一半是自我描述,另一半不是。

最佳答案

来自 src\NHibernate\Mapping\ByCode\Impl\CascadeConverter.cs

    private static IEnumerable<string> CascadeDefinitions(this Cascade source)
{
if (source.Has(Cascade.All))
{
yield return "all";
}
if (source.Has(Cascade.Persist))
{
yield return "save-update, persist";
}
if (source.Has(Cascade.Refresh))
{
yield return "refresh";
}
if (source.Has(Cascade.Merge))
{
yield return "merge";
}
if (source.Has(Cascade.Remove))
{
yield return "delete";
}
if (source.Has(Cascade.Detach))
{
yield return "evict";
}
if (source.Has(Cascade.ReAttach))
{
yield return "lock";
}
if (source.Has(Cascade.DeleteOrphans))
{
yield return "delete-orphan";
}
}

注: alldelete-orphan 之外的所有级联.

关于NHibernate 按代码映射 (Loquacious) - 级联选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14438564/

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