/// <summary> /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// </summary> public virtual void SetIsConcurrencyToken(bool concurrencyToken, ConfigurationSource configurationSource) { if (IsConcurrencyToken != concurrencyToken) { SetFlag(concurrencyToken, PropertyFlags.IsConcurrencyToken); DeclaringEntityType.PropertyMetadataChanged(); } UpdateIsConcurrencyTokenConfigurationSource(configurationSource); }
/// <summary> /// This API supports the Entity Framework Core infrastructure and is not intended to be used /// directly from your code. This API may change or be removed in future releases. /// </summary> public virtual void SetIsStoreGeneratedAlways(bool storeGeneratedAlways, ConfigurationSource configurationSource) { if (IsStoreGeneratedAlways != storeGeneratedAlways) { SetFlag(storeGeneratedAlways, PropertyFlags.StoreGeneratedAlways); DeclaringEntityType.PropertyMetadataChanged(); } UpdateIsStoreGeneratedAlwaysConfigurationSource(configurationSource); }
public virtual void SetIsShadowProperty(bool shadowProperty, ConfigurationSource configurationSource) { if (IsShadowProperty != shadowProperty) { if (shadowProperty == false) { if (DeclaringEntityType.ClrType == null) { throw new InvalidOperationException(CoreStrings.ClrPropertyOnShadowEntity(Name, DeclaringEntityType.DisplayName())); } var clrProperty = DeclaringEntityType.ClrType.GetPropertiesInHierarchy(Name).FirstOrDefault(); if (clrProperty == null) { throw new InvalidOperationException(CoreStrings.NoClrProperty(Name, DeclaringEntityType.DisplayName())); } if (ClrType == null) { ClrType = clrProperty.PropertyType; } else if (ClrType != clrProperty.PropertyType) { throw new InvalidOperationException(CoreStrings.PropertyWrongClrType(Name, DeclaringEntityType.DisplayName())); } } SetFlag(shadowProperty, PropertyFlags.IsShadowProperty); DeclaringEntityType.PropertyMetadataChanged(); } else { SetFlag(shadowProperty, PropertyFlags.IsShadowProperty); } UpdateIsShadowPropertyConfigurationSource(configurationSource); }