本文整理汇总了C#中Composite.Data.DynamicTypes.DataTypeDescriptor.Clone方法的典型用法代码示例。如果您正苦于以下问题:C# DataTypeDescriptor.Clone方法的具体用法?C# DataTypeDescriptor.Clone怎么用?C# DataTypeDescriptor.Clone使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Composite.Data.DynamicTypes.DataTypeDescriptor
的用法示例。
在下文中一共展示了DataTypeDescriptor.Clone方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: UpdateWithNewPageFolderForeignKeySystem
/// <summary>
/// This method will remove a foreign key (if any exists) that is no longer possible with the
/// new meta data system (IPageMetaDataDefinition)
/// </summary>
/// <param name="dataTypeDescriptor"></param>
/// <param name="dataStoreExists"></param>
private void UpdateWithNewPageFolderForeignKeySystem(DataTypeDescriptor dataTypeDescriptor, bool dataStoreExists)
{
if (dataTypeDescriptor.IsPageFolderDataType == false)
{
return;
}
DataFieldDescriptor dataFieldDescriptor = dataTypeDescriptor.Fields["IAggregationDescriptionIdForeignKey"];
if (dataFieldDescriptor == null)
{
return;
}
Log.LogVerbose("GeneratedTypesFacade", string.Format("Removing the property {0} on the type {1}.{2}", dataFieldDescriptor.Name, dataTypeDescriptor.Namespace, dataTypeDescriptor.Name));
if(!dataStoreExists)
{
dataTypeDescriptor.Fields.Remove(dataFieldDescriptor);
DynamicTypeManager.UpdateDataTypeDescriptor(dataTypeDescriptor, false);
return;
}
DataTypeDescriptor oldDataTypeDescriptor = dataTypeDescriptor.Clone();
dataTypeDescriptor.Fields.Remove(dataFieldDescriptor);
var dataTypeChangeDescriptor = new DataTypeChangeDescriptor(oldDataTypeDescriptor, dataTypeDescriptor);
UpdateDataTypeDescriptor updateDataTypeDescriptor = new UpdateDataTypeDescriptor(oldDataTypeDescriptor, dataTypeDescriptor);
DynamicTypeManager.AlterStore(updateDataTypeDescriptor, false);
}