Cor*_*ndt 11 nhibernate orm cascade nhibernate-mapping
当使用NHibernate Mapping By Code时,我对Cascade枚举选项行为有疑问.
Enum有以下选项:
[Flags]
public enum Cascade
{
None = 0,
Persist = 2,
Refresh = 4,
Merge = 8,
Remove = 16,
Detach = 32,
ReAttach = 64,
DeleteOrphans = 128,
All = 256,
}
Run Code Online (Sandbox Code Playgroud)
它们的目的是像位标志组合一样使用(据我所知).
我通过NHibernate文档查看过,并在那里定义了以下用于XML映射的级联选项:生命周期和对象图
任何人都可以通过代码描述来自新Nhibernate映射的级联选项吗?其中一半是自我描述,另一半则不是.
Ste*_*ger 12
从 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";
}
}
Run Code Online (Sandbox Code Playgroud)
注意:all除了delete-orphan.之外的所有级联.
| 归档时间: |
|
| 查看次数: |
3759 次 |
| 最近记录: |