static void CreateForeignKey(IModelMemberOneToManyCollection modelMemberOneToManyCollection, XPObjectSpace objectSpace, XpandCustomMemberInfo customMemberInfo) { if (CanCreateForeignKey(modelMemberOneToManyCollection, objectSpace)) { var xpCustomMemberInfo = customMemberInfo.GetAssociatedMember() as XPCustomMemberInfo; if (xpCustomMemberInfo == null) { throw new NullReferenceException("xpCustomMemberInfo"); } objectSpace.CreateForeignKey(xpCustomMemberInfo); modelMemberOneToManyCollection.AssociatedMember.DataStoreForeignKeyCreated = true; modelMemberOneToManyCollection.DataStoreForeignKeyCreated = true; } }
static void CreateForeignKey(IModelMemberOneToManyCollection modelMemberOneToManyCollection, XPObjectSpace objectSpace, XpandCustomMemberInfo customMemberInfo) { if (CanCreateForeignKey(modelMemberOneToManyCollection, objectSpace)) { var throwUnableToCreateDbObjectException = ((IModelOptionMemberPersistent)modelMemberOneToManyCollection.Application.Options).ThrowUnableToCreateDbObjectException; var xpCustomMemberInfo = customMemberInfo.GetAssociatedMember() as XPCustomMemberInfo; if (xpCustomMemberInfo == null) { throw new NullReferenceException("xpCustomMemberInfo"); } objectSpace.CreateForeignKey(xpCustomMemberInfo, throwUnableToCreateDbObjectException); modelMemberOneToManyCollection.AssociatedMember.DataStoreForeignKeyCreated = true; modelMemberOneToManyCollection.DataStoreForeignKeyCreated = true; } }
static bool CanCreateForeignKey(IModelMemberOneToManyCollection modelMemberOneToManyCollection, XPObjectSpace objectSpace) { return(CanCreateDbArtifact(modelMemberOneToManyCollection, objectSpace) && !modelMemberOneToManyCollection.AssociatedMember.DataStoreForeignKeyCreated); }
static bool CanCreateForeignKey(IModelMemberOneToManyCollection modelMemberOneToManyCollection, XPObjectSpace objectSpace) { return CanCreateDbArtifact(modelMemberOneToManyCollection, objectSpace)&&!modelMemberOneToManyCollection.AssociatedMember.DataStoreForeignKeyCreated; }
static void CreateForeignKey(IModelMemberOneToManyCollection modelMemberOneToManyCollection, XPObjectSpace objectSpace, XpandCustomMemberInfo customMemberInfo) { if (CanCreateForeignKey(modelMemberOneToManyCollection, objectSpace)) { var throwUnableToCreateDbObjectException = ((IModelOptionMemberPersistent) modelMemberOneToManyCollection.Application.Options).ThrowUnableToCreateDbObjectException; var xpCustomMemberInfo = customMemberInfo.GetAssociatedMember() as XPCustomMemberInfo; if (xpCustomMemberInfo == null) throw new NullReferenceException("xpCustomMemberInfo"); objectSpace.CreateForeignKey(xpCustomMemberInfo,throwUnableToCreateDbObjectException); modelMemberOneToManyCollection.AssociatedMember.DataStoreForeignKeyCreated = true; modelMemberOneToManyCollection.DataStoreForeignKeyCreated = true; } }