private void CreateStorageEntity(ISchemaEntity entity) { // Check to see if this has already been processed. if (_storageEntitys.Contains(entity.EntityKey())) { return; } bool isNewView; var entitySet = CreateStorageEntitySet(entity, out isNewView); var entityType = CreateStorageEntityType(entity, entitySet.Name, ref isNewView); // Remove the duplicate properties. RemoveDuplicateStorageEntityTypeKeysAndProperties(entityType); // Remove extra properties values. var properties = from property in entityType.Properties where !(from prop in entity.Properties select prop.KeyName).Contains(property.Name) select property; // Remove all of the key properties that don't exist in the table entity. foreach (var property in properties) { var propertyName = ResolveConceptualPropertyNameFromStorageColumnName(entityType.Name, property.Name); _removedStorageEntityProperties.Add(String.Format(PROPERTY_KEY, entity.EntityKeyName, propertyName).ToLower()); entityType.Properties.Remove(property); } CreateStorageEntityTypeKeys(entity, isNewView, entityType); CreateStorageEntityTypeProperties(entity, entityType); _storageEntitys.Add(entity.EntityKeyName); }
private void CreateStorageEntity(ISchemaEntity entity) { // Check to see if this has already been processed. if (_storageEntitys.Contains(entity.EntityKey())) return; bool isNewView; var entitySet = CreateStorageEntitySet(entity, out isNewView); var entityType = CreateStorageEntityType(entity, entitySet.Name, ref isNewView); // Remove the duplicate properties. RemoveDuplicateStorageEntityTypeKeysAndProperties(entityType); // Remove extra properties values. var properties = from property in entityType.Properties where !(from prop in entity.Properties select prop.KeyName).Contains(property.Name) select property; // Remove all of the key properties that don't exist in the table entity. foreach (var property in properties) { var propertyName = ResolveConceptualPropertyNameFromStorageColumnName(entityType.Name, property.Name); _removedStorageEntityProperties.Add(String.Format(PROPERTY_KEY, entity.EntityKeyName, propertyName).ToLower()); entityType.Properties.Remove(property); } CreateStorageEntityTypeKeys(entity, isNewView, entityType); CreateStorageEntityTypeProperties(entity, entityType); _storageEntitys.Add(entity.EntityKeyName); }