/// <summary> /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to /// the same compatibility standards as public APIs. It may be changed or removed without notice in /// any release. You should only use it directly in your code with extreme caution and knowing that /// doing so can result in application failures when updating to a new Entity Framework Core release. /// </summary> public static void MergeInto(IConventionEntityType entityType, IConventionTrigger detachedTrigger) { var newTrigger = new Trigger( (IMutableEntityType)entityType, detachedTrigger.ModelName, detachedTrigger.TableName, detachedTrigger.TableSchema, detachedTrigger.GetConfigurationSource()); MergeInto(detachedTrigger, newTrigger); }
/// <summary> /// This is an internal API that supports the Entity Framework Core infrastructure and not subject to /// the same compatibility standards as public APIs. It may be changed or removed without notice in /// any release. You should only use it directly in your code with extreme caution and knowing that /// doing so can result in application failures when updating to a new Entity Framework Core release. /// </summary> public static void MergeInto(IConventionTrigger detachedTrigger, IConventionTrigger existingTrigger) { var nameConfigurationSource = detachedTrigger.GetNameConfigurationSource(); if (nameConfigurationSource != null) { ((InternalTriggerBuilder)existingTrigger.Builder).HasName( detachedTrigger.Name, nameConfigurationSource.Value); } ((InternalTriggerBuilder)existingTrigger.Builder).MergeAnnotationsFrom( (Trigger)detachedTrigger); }
private static bool AreCompatible(IConventionTrigger checkConstraint, IConventionTrigger baseTrigger) { var baseTable = StoreObjectIdentifier.Create(baseTrigger.EntityType, StoreObjectType.Table); if (baseTable == null) { return(true); } if (checkConstraint.GetName(baseTable.Value) != baseTrigger.GetName(baseTable.Value) && checkConstraint.GetNameConfigurationSource() is ConfigurationSource nameConfigurationSource && !nameConfigurationSource.OverridesStrictly(baseTrigger.GetNameConfigurationSource())) { return(false); } return(true); }