internal static bool IsEnsureUpdateStoreNeeded(Type interfaceType)
{
using (TimerProfilerFacade.CreateTimerProfiler())
{
DataTypeDescriptor newDataTypeDescriptor;
if (!TryGetDataTypeDescriptor(interfaceType, out newDataTypeDescriptor))
{
newDataTypeDescriptor = BuildNewDataTypeDescriptor(interfaceType);
}
var oldDataTypeDescriptor = DataMetaDataFacade.GetDataTypeDescriptor(newDataTypeDescriptor.DataTypeId);
if (oldDataTypeDescriptor == null)
{
DataMetaDataFacade.PersistMetaData(newDataTypeDescriptor);
return false;
}
var dataTypeChangeDescriptor = new DataTypeChangeDescriptor(oldDataTypeDescriptor, newDataTypeDescriptor);
if (!dataTypeChangeDescriptor.AlteredTypeHasChanges)
{
return false;
}
return dataTypeChangeDescriptor.AlteredTypeHasChanges;
}
}