protected override void DoResolve(EFArtifactSet artifactSet) { CdmEntityContainer.Rebind(); StorageEntityContainer.Rebind(); // its not resolved unless we can resolve both sides if (CdmEntityContainer.Status == BindingStatus.Known && StorageEntityContainer.Status == BindingStatus.Known) { State = EFElementState.Resolved; } }
private static void RetargetMappingsForRenamedStorageEntitySets( StorageEntityContainer preExistingStorageEntityContainer, StorageEntityContainer newStorageEntityEntityContainer) { if (null == preExistingStorageEntityContainer || null == newStorageEntityEntityContainer) { return; } // find all mappings from database identity to S-side EntitySet for the new artifact var newArtifactSSideMappings = ConstructDatabaseObjectToEntitySetMappings(newStorageEntityEntityContainer); // find all mappings from database identity to S-side EntitySet for the existing artifact var existingArtifactSSideMappings = ConstructDatabaseObjectToEntitySetMappings(preExistingStorageEntityContainer); // find all EntitySets whose name has changed (but whose identity has stayed the same) // and update the name part of any ItemBinding which references the old name UpdateOldDatabaseObjectReferencesToNewNames(existingArtifactSSideMappings, newArtifactSSideMappings); }
private void RecordStorageProperties(StorageEntityContainer sec) { foreach (var es in sec.EntitySets()) { var ses = es as StorageEntitySet; if (null != ses) { var dbObj = DatabaseObject.CreateFromEntitySet(ses); var et = ses.EntityType.Target; if (null == et) { Debug.Fail("Null EntityType"); } else { foreach (var prop in et.Properties()) { AddDbObjToPropertiesMapping(dbObj, prop); } } } } }
private void RecordStorageEntitySetsAndProperties(StorageEntityContainer sec) { foreach (var es in sec.EntitySets()) { var ses = es as StorageEntitySet; if (null != ses) { var dbObj = DatabaseObject.CreateFromEntitySet(ses); _allTablesAndViews.Add(dbObj, ses.LocalName.Value); var et = ses.EntityType.Target; if (null == et) { Debug.Fail("Null EntityType"); } else { foreach (var prop in et.Properties()) { AddDbObjToColumnMapping(dbObj, prop); } } } } }
private static Dictionary <DatabaseObject, StorageEntitySet> ConstructDatabaseObjectToEntitySetMappings(StorageEntityContainer sec) { Debug.Assert(null != sec, "was passed a null StorageEntityContainer"); var mappings = new Dictionary <DatabaseObject, StorageEntitySet>(); if (null != sec) { foreach (var es in sec.EntitySets()) { var ses = es as StorageEntitySet; if (null != ses) { var dbObj = DatabaseObject.CreateFromEntitySet(ses); mappings.Add(dbObj, ses); } } } return(mappings); }