public virtual void Apply(AssociationType item, System.Data.Entity.Infrastructure.DbModel model) { if (_isSelfReferencing(item)) { return; } var propertyConfiguration = _getConfiguration(item); if (propertyConfiguration != null && _navigationPropertyConfigurationGetDeleteAction(propertyConfiguration).HasValue) { return; } AssociationEndMember collectionEndMember = null; AssociationEndMember singleNavigationEndMember = null; if (_isRequiredToMany(item)) { collectionEndMember = GetSourceEnd(item); singleNavigationEndMember = GetTargetEnd(item); } else if (_isManyToRequired(item)) { collectionEndMember = GetTargetEnd(item); singleNavigationEndMember = GetSourceEnd(item); } if (collectionEndMember == null || singleNavigationEndMember == null) { return; } var collectionCascadeDeleteAttribute = GetCascadeDeleteAttribute(collectionEndMember); var singleCascadeDeleteAttribute = GetCascadeDeleteAttribute(singleNavigationEndMember); // TODO //if (collectionCascadeDeleteAttribute != null || singleCascadeDeleteAttribute != null) // collectionEndMember.DeleteBehavior = OperationAction.Cascade; if (collectionCascadeDeleteAttribute != null) { collectionEndMember.DeleteBehavior = collectionCascadeDeleteAttribute.CascadeDelete ? OperationAction.Cascade : OperationAction.None; //singleNavigationEndMember.DeleteBehavior = collectionCascadeDeleteAttribute.CascadeDelete ? OperationAction.Cascade : OperationAction.None; } else if (singleCascadeDeleteAttribute != null) { //collectionEndMember.DeleteBehavior = singleCascadeDeleteAttribute.CascadeDelete ? OperationAction.Cascade : OperationAction.None; singleNavigationEndMember.DeleteBehavior = singleCascadeDeleteAttribute.CascadeDelete ? OperationAction.Cascade : OperationAction.None; } }
public SQLiteBuilder(System.Data.Entity.Infrastructure.DbModel model) { this.model = model; if (model != null) { connstr = model.ProviderInfo.ProviderManifestToken; storeModel = model.StoreModel; providerManifest = model.ProviderManifest; versionFile = connstr.Split('=')[1] + ".version"; } }
public void Apply(AssociationType associationType, System.Data.Entity.Infrastructure.DbModel model) { if (associationType.IsForeignKey) { var constraint = associationType.Constraint; if (PropertiesHaveDefaultNames(constraint.FromProperties, constraint.ToRole.Name, constraint.ToProperties)) { ApplyCustomForeignKeyConvention(constraint.FromProperties); } if (PropertiesHaveDefaultNames(constraint.ToProperties, constraint.FromRole.Name, constraint.FromProperties)) { ApplyCustomForeignKeyConvention(constraint.ToProperties); } } }