/// <summary> /// Adds a property mapping condition. /// </summary> /// <param name="condition">The property mapping condition to be added.</param> public override void AddCondition(ConditionPropertyMapping condition) { Check.NotNull(condition, "condition"); ThrowIfReadOnly(); AddConditionProperty(condition, _ => { }); }
/// <summary> /// Removes a property mapping condition. /// </summary> /// <param name="condition">The property mapping condition to be removed.</param> public override void RemoveCondition(ConditionPropertyMapping condition) { Check.NotNull(condition, "condition"); ThrowIfReadOnly(); RemoveConditionProperty(condition); }
public void Can_add_and_remove_column_conditions() { var mappingFragment = new MappingFragment( new EntitySet(), new EntityTypeMapping( new EntitySetMapping( new EntitySet(), new EntityContainerMapping(new EntityContainer("C", DataSpace.CSpace)))), false); Assert.Empty(mappingFragment.ColumnConditions); var conditionPropertyMapping = new ConditionPropertyMapping(null, new EdmProperty("C", TypeUsage.Create(new PrimitiveType() { DataSpace = DataSpace.SSpace })), 42, null); mappingFragment.AddConditionProperty(conditionPropertyMapping); Assert.Same(conditionPropertyMapping, mappingFragment.ColumnConditions.Single()); mappingFragment.RemoveConditionProperty(conditionPropertyMapping); Assert.Empty(mappingFragment.ColumnConditions); }
/// <summary> /// Removes a property mapping condition. /// </summary> /// <param name="condition">The property mapping condition to be removed.</param> public override void RemoveCondition(ConditionPropertyMapping condition) { Check.NotNull(condition, "condition"); ThrowIfReadOnly(); m_conditionProperties.Remove(condition.Property ?? condition.Column); }
internal void RemoveConditionProperty(ConditionPropertyMapping condition) { DebugCheck.NotNull(condition); var conditionMember = condition.Property ?? condition.Column; m_conditionProperties.Remove(conditionMember); }
public void Can_get_and_set_IsNull() { var conditionPropertyMapping = new ConditionPropertyMapping(null, new EdmProperty("C", TypeUsage.Create(new PrimitiveType() { DataSpace = DataSpace.SSpace })), null, false); Assert.Null(conditionPropertyMapping.Value); Assert.False((bool)conditionPropertyMapping.IsNull); }
public void Can_get_and_set_Value() { var conditionPropertyMapping = new ConditionPropertyMapping(null, new EdmProperty("C", TypeUsage.Create(new PrimitiveType() { DataSpace = DataSpace.SSpace })), 42, null); Assert.Equal(42, conditionPropertyMapping.Value); Assert.Null(conditionPropertyMapping.IsNull); }
public static string GetIdentity(ConditionPropertyMapping mapping) { if (mapping.Property == null) { return("ConditionProperty(ColumnIdentity=" + mapping.Column.Identity + ")"); } return("ConditionProperty(Identity=" + mapping.Property.Identity + ")"); }
/// <summary> /// Removes a property mapping condition. /// </summary> /// <param name="condition">The property mapping condition to remove.</param> public void RemoveCondition(ConditionPropertyMapping condition) { Check.NotNull(condition, "condition"); ThrowIfReadOnly(); if (SingleFragment != null) { SingleFragment.RemoveCondition(condition); } }
/// <summary>Removes a property mapping condition.</summary> /// <param name="condition">The property mapping condition to remove.</param> public void RemoveCondition(ConditionPropertyMapping condition) { Check.NotNull <ConditionPropertyMapping>(condition, nameof(condition)); this.ThrowIfReadOnly(); if (this.SingleFragment == null) { return; } this.SingleFragment.RemoveCondition(condition); }
public void Can_get_and_set_IsNull() { var conditionPropertyMapping = new ConditionPropertyMapping(null, new EdmProperty("C", TypeUsage.Create(new PrimitiveType() { DataSpace = DataSpace.SSpace })), null, false); Assert.Null(conditionPropertyMapping.Value); Assert.False((bool)conditionPropertyMapping.IsNull); }
public void Can_get_and_set_Value() { var conditionPropertyMapping = new ConditionPropertyMapping(null, new EdmProperty("C", TypeUsage.Create(new PrimitiveType() { DataSpace = DataSpace.SSpace })), 42, null); Assert.Equal(42, conditionPropertyMapping.Value); Assert.Null(conditionPropertyMapping.IsNull); }
protected override void Visit(ConditionPropertyMapping conditionPropertyMapping) { int instanceIndex; if (!this.AddObjectToSeenListAndHashBuilder((object)conditionPropertyMapping, out instanceIndex)) { return; } this.AddObjectStartDumpToHashBuilder((object)conditionPropertyMapping, instanceIndex); this.AddObjectContentToHashBuilder((object)conditionPropertyMapping.IsNull); this.AddObjectContentToHashBuilder(conditionPropertyMapping.Value); base.Visit(conditionPropertyMapping); this.AddObjectEndDumpToHashBuilder(); }
private static DbExpression GeneratePredicate(ConditionPropertyMapping condition, DbExpression row) { Debug.Assert(condition.Property == null, "C-side conditions are not supported in function mappings."); var columnRef = GenerateColumnRef(row, condition.Column); if (condition.IsNull.HasValue) { return(condition.IsNull.Value ? columnRef.IsNull() : (DbExpression)columnRef.IsNull().Not()); } else { return(columnRef.Equal(columnRef.ResultType.Constant(condition.Value))); } }
public void Can_get_and_set_column_property() { var column1 = new EdmProperty("C", TypeUsage.Create(new PrimitiveType() { DataSpace = DataSpace.SSpace })); var conditionPropertyMapping = new ConditionPropertyMapping(null, column1, 42, null); Assert.Same(column1, conditionPropertyMapping.Column); var column2 = new EdmProperty("C", TypeUsage.Create(new PrimitiveType() { DataSpace = DataSpace.SSpace })); conditionPropertyMapping.Column = column2; Assert.Same(column2, conditionPropertyMapping.Column); }
internal void AddConditionProperty( ConditionPropertyMapping conditionPropertyMap, Action <EdmMember> duplicateMemberConditionError) { EdmProperty key = conditionPropertyMap.Property != null ? conditionPropertyMap.Property : conditionPropertyMap.Column; if (!this.m_conditionProperties.ContainsKey(key)) { this.m_conditionProperties.Add(key, conditionPropertyMap); } else { duplicateMemberConditionError((EdmMember)key); } }
private static DbExpression GeneratePredicate( ConditionPropertyMapping condition, DbExpression row) { DbExpression columnRef = FunctionImportMappingComposable.GenerateColumnRef(row, condition.Column); if (!condition.IsNull.HasValue) { return((DbExpression)columnRef.Equal((DbExpression)columnRef.ResultType.Constant(condition.Value))); } if (!condition.IsNull.Value) { return((DbExpression)columnRef.IsNull().Not()); } return((DbExpression)columnRef.IsNull()); }
// <summary> // Add a condition property mapping as a child of this complex property mapping // Condition Property Mapping specifies a Condition either on the C side property or S side property. // </summary> // <param name="conditionPropertyMap"> The mapping that needs to be added </param> internal void AddConditionProperty( ConditionPropertyMapping conditionPropertyMap, Action <EdmMember> duplicateMemberConditionError) { //Same Member can not have more than one Condition with in the //same Mapping Fragment. var conditionMember = conditionPropertyMap.Property ?? conditionPropertyMap.Column; Debug.Assert(conditionMember != null); if (!m_conditionProperties.ContainsKey(conditionMember)) { m_conditionProperties.Add(conditionMember, conditionPropertyMap); } else { duplicateMemberConditionError(conditionMember); } }
public static void GetIdentity_of_StorageConditionPropertyMapping_returns_expected_value() { var typeUsage = TypeUsage.Create(PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String)); var property1 = new EdmProperty("A", typeUsage); var property2 = new EdmProperty("B", TypeUsage.Create(new PrimitiveType() { DataSpace = DataSpace.SSpace })); PropertyMapping mapping = new ConditionPropertyMapping(property1, null, "V", null); Assert.Equal("ConditionProperty(Identity=A)", BaseMetadataMappingVisitor.IdentityHelper.GetIdentity(mapping)); mapping = new ConditionPropertyMapping(null, property2, "V", null); Assert.Equal("ConditionProperty(ColumnIdentity=B)", BaseMetadataMappingVisitor.IdentityHelper.GetIdentity(mapping)); }
public void Cannot_add_condition_when_read_only() { var entitySet = new EntitySet(); var associationSet = new AssociationSet("AS", new AssociationType("A", XmlConstants.ModelNamespace_3, false, DataSpace.CSpace)); var associationSetMapping = new AssociationSetMapping(associationSet, entitySet); var conditionPropertyMapping = new ConditionPropertyMapping(null, new EdmProperty("C", TypeUsage.Create(new PrimitiveType() { DataSpace = DataSpace.SSpace })), 42, null); associationSetMapping.SetReadOnly(); Assert.Equal( Strings.OperationOnReadOnlyItem, Assert.Throws <InvalidOperationException>( () => associationSetMapping.AddCondition(conditionPropertyMapping)).Message); }
public void Can_get_and_set_column_property() { var column1 = new EdmProperty("C", TypeUsage.Create(new PrimitiveType() { DataSpace = DataSpace.SSpace })); var conditionPropertyMapping = new ConditionPropertyMapping(null, column1, 42, null); Assert.Same(column1, conditionPropertyMapping.Column); var column2 = new EdmProperty("C", TypeUsage.Create(new PrimitiveType() { DataSpace = DataSpace.SSpace })); conditionPropertyMapping.Column = column2; Assert.Same(column2, conditionPropertyMapping.Column); }
protected override void Visit(ConditionPropertyMapping conditionPropertyMapping) { int index; if (!AddObjectToSeenListAndHashBuilder(conditionPropertyMapping, out index)) { return; } AddObjectStartDumpToHashBuilder(conditionPropertyMapping, index); #region Inner data visit AddObjectContentToHashBuilder(conditionPropertyMapping.IsNull); AddObjectContentToHashBuilder(conditionPropertyMapping.Value); base.Visit(conditionPropertyMapping); #endregion AddObjectEndDumpToHashBuilder(); }
public void Can_add_get_remove_column_conditions() { var entitySet1 = new EntitySet(); var associationSet = new AssociationSet("AS", new AssociationType("A", XmlConstants.ModelNamespace_3, false, DataSpace.CSpace)); var associationSetMapping = new AssociationSetMapping(associationSet, entitySet1); Assert.Empty(associationSetMapping.Conditions); var conditionPropertyMapping = new ConditionPropertyMapping(null, new EdmProperty("C", TypeUsage.Create(new PrimitiveType() { DataSpace = DataSpace.SSpace })), 42, null); associationSetMapping.AddCondition(conditionPropertyMapping); Assert.Same(conditionPropertyMapping, associationSetMapping.Conditions.Single()); associationSetMapping.RemoveCondition(conditionPropertyMapping); Assert.Empty(associationSetMapping.Conditions); }
/// <summary>Removes a property mapping condition.</summary> /// <param name="condition">The property mapping condition to be removed.</param> public override void RemoveCondition(ConditionPropertyMapping condition) { Check.NotNull <ConditionPropertyMapping>(condition, nameof(condition)); this.ThrowIfReadOnly(); this.m_conditionProperties.Remove(condition.Property ?? condition.Column); }
/// <summary>Adds a property mapping condition.</summary> /// <param name="condition">The property mapping condition to be added.</param> public override void AddCondition(ConditionPropertyMapping condition) { Check.NotNull <ConditionPropertyMapping>(condition, nameof(condition)); this.ThrowIfReadOnly(); this.AddConditionProperty(condition, (Action <EdmMember>)(_ => {})); }
internal void AddConditionProperty(ConditionPropertyMapping conditionPropertyMap) { DebugCheck.NotNull(conditionPropertyMap); AddConditionProperty(conditionPropertyMap, _ => { }); }
/// <summary> /// Removes a property mapping condition. /// </summary> /// <param name="condition">The property mapping condition to remove.</param> public void RemoveCondition(ConditionPropertyMapping condition) { Check.NotNull(condition, "condition"); ThrowIfReadOnly(); if (SingleFragment != null) { SingleFragment.RemoveCondition(condition); } }
/// <summary> /// Removes a property mapping condition. /// </summary> /// <param name="condition">The property mapping condition to be removed.</param> public abstract void RemoveCondition(ConditionPropertyMapping condition);
public static void GetIdentity_of_StorageConditionPropertyMapping_returns_expected_value() { var typeUsage = TypeUsage.Create(PrimitiveType.GetEdmPrimitiveType(PrimitiveTypeKind.String)); var property1 = new EdmProperty("A", typeUsage); var property2 = new EdmProperty("B", TypeUsage.Create(new PrimitiveType() { DataSpace = DataSpace.SSpace })); PropertyMapping mapping = new ConditionPropertyMapping(property1, null, "V", null); Assert.Equal("ConditionProperty(Identity=A)", BaseMetadataMappingVisitor.IdentityHelper.GetIdentity(mapping)); mapping = new ConditionPropertyMapping(null, property2, "V", null); Assert.Equal("ConditionProperty(ColumnIdentity=B)", BaseMetadataMappingVisitor.IdentityHelper.GetIdentity(mapping)); }
internal void AddConditionProperty(ConditionPropertyMapping conditionPropertyMap) { this.AddConditionProperty(conditionPropertyMap, (Action <EdmMember>)(_ => {})); }
/// <summary> /// Removes a property mapping condition. /// </summary> /// <param name="condition">The property mapping condition to be removed.</param> public override void RemoveCondition(ConditionPropertyMapping condition) { Check.NotNull(condition, "condition"); ThrowIfReadOnly(); RemoveConditionProperty(condition); }
public void Can_add_get_remove_column_conditions() { var entitySet1 = new EntitySet(); var associationSet = new AssociationSet("AS", new AssociationType("A", XmlConstants.ModelNamespace_3, false, DataSpace.CSpace)); var associationSetMapping = new AssociationSetMapping(associationSet, entitySet1); Assert.Empty(associationSetMapping.Conditions); var conditionPropertyMapping = new ConditionPropertyMapping(null, new EdmProperty("C", TypeUsage.Create(new PrimitiveType() { DataSpace = DataSpace.SSpace })), 42, null); associationSetMapping.AddCondition(conditionPropertyMapping); Assert.Same(conditionPropertyMapping, associationSetMapping.Conditions.Single()); associationSetMapping.RemoveCondition(conditionPropertyMapping); Assert.Empty(associationSetMapping.Conditions); }
/// <summary> /// Adds a property mapping condition. /// </summary> /// <param name="condition">The property mapping condition to be added.</param> public abstract void AddCondition(ConditionPropertyMapping condition);
/// <summary> /// Adds a property mapping condition. /// </summary> /// <param name="condition">The property mapping condition to be added.</param> public abstract void AddCondition(ConditionPropertyMapping condition);
protected virtual void Visit(ConditionPropertyMapping conditionPropertyMapping) { Visit(conditionPropertyMapping.Column); Visit(conditionPropertyMapping.Property); }
/// <summary> /// Removes a property mapping condition. /// </summary> /// <param name="condition">The property mapping condition to be removed.</param> public override void RemoveCondition(ConditionPropertyMapping condition) { Check.NotNull(condition, "condition"); ThrowIfReadOnly(); m_conditionProperties.Remove(condition.Property ?? condition.Column); }
protected override void Visit(ConditionPropertyMapping conditionPropertyMapping) { int index; if (!AddObjectToSeenListAndHashBuilder(conditionPropertyMapping, out index)) { return; } AddObjectStartDumpToHashBuilder(conditionPropertyMapping, index); #region Inner data visit AddObjectContentToHashBuilder(conditionPropertyMapping.IsNull); AddObjectContentToHashBuilder(conditionPropertyMapping.Value); base.Visit(conditionPropertyMapping); #endregion AddObjectEndDumpToHashBuilder(); }
public void Can_add_and_remove_column_conditions() { var mappingFragment = new MappingFragment( new EntitySet(), new EntityTypeMapping( new EntitySetMapping( new EntitySet(), new EntityContainerMapping(new EntityContainer("C", DataSpace.CSpace)))), false); Assert.Empty(mappingFragment.ColumnConditions); var conditionPropertyMapping = new ConditionPropertyMapping(null, new EdmProperty("C", TypeUsage.Create(new PrimitiveType() { DataSpace = DataSpace.SSpace })), 42, null); mappingFragment.AddConditionProperty(conditionPropertyMapping); Assert.Same(conditionPropertyMapping, mappingFragment.ColumnConditions.Single()); mappingFragment.RemoveConditionProperty(conditionPropertyMapping); Assert.Empty(mappingFragment.ColumnConditions); }
/// <summary> /// Removes a property mapping condition. /// </summary> /// <param name="condition">The property mapping condition to be removed.</param> public abstract void RemoveCondition(ConditionPropertyMapping condition);
/// <summary> /// Adds a property mapping condition. /// </summary> /// <param name="condition">The property mapping condition to be added.</param> public override void AddCondition(ConditionPropertyMapping condition) { Check.NotNull(condition, "condition"); ThrowIfReadOnly(); AddConditionProperty(condition, _ => { }); }
private void WriteConditionElement(ConditionPropertyMapping condition) { DebugCheck.NotNull(condition); _xmlWriter.WriteStartElement(MslConstructs.ConditionElement); if (condition.IsNull.HasValue) { WriteIsNullConditionAttribute(condition.IsNull.Value); } else { WriteConditionValue(condition.Value); } _xmlWriter.WriteAttributeString(MslConstructs.ConditionColumnNameAttribute, condition.Column.Name); _xmlWriter.WriteEndElement(); }
// <summary> // Add a condition property mapping as a child of this complex property mapping // Condition Property Mapping specifies a Condition either on the C side property or S side property. // </summary> // <param name="conditionPropertyMap"> The Condition Property mapping that needs to be added </param> internal void AddConditionProperty( ConditionPropertyMapping conditionPropertyMap, Action<EdmMember> duplicateMemberConditionError) { //Same Member can not have more than one Condition with in the //same Complex Type. var conditionMember = (conditionPropertyMap.Property != null) ? conditionPropertyMap.Property : conditionPropertyMap.Column; Debug.Assert(conditionMember != null); if (!m_conditionProperties.ContainsKey(conditionMember)) { m_conditionProperties.Add(conditionMember, conditionPropertyMap); } else { duplicateMemberConditionError(conditionMember); } }
private static DbExpression GeneratePredicate(ConditionPropertyMapping condition, DbExpression row) { Debug.Assert(condition.Property == null, "C-side conditions are not supported in function mappings."); var columnRef = GenerateColumnRef(row, condition.Column); if (condition.IsNull.HasValue) { return condition.IsNull.Value ? columnRef.IsNull() : (DbExpression)columnRef.IsNull().Not(); } else { return columnRef.Equal(columnRef.ResultType.Constant(condition.Value)); } }
public void Cannot_remove_condition_when_read_only() { var entitySet = new EntitySet(); var associationSet = new AssociationSet("AS", new AssociationType("A", XmlConstants.ModelNamespace_3, false, DataSpace.CSpace)); var associationSetMapping = new AssociationSetMapping(associationSet, entitySet); var conditionPropertyMapping = new ConditionPropertyMapping(null, new EdmProperty("C", TypeUsage.Create(new PrimitiveType() { DataSpace = DataSpace.SSpace })), 42, null); associationSetMapping.AddCondition(conditionPropertyMapping); associationSetMapping.SetReadOnly(); Assert.Equal( Strings.OperationOnReadOnlyItem, Assert.Throws<InvalidOperationException>( () => associationSetMapping.RemoveCondition(conditionPropertyMapping)).Message); }
internal void RemoveConditionProperty(ConditionPropertyMapping condition) { DebugCheck.NotNull(condition); var conditionMember = condition.Property ?? condition.Column; m_conditionProperties.Remove(conditionMember); }
internal void AddConditionProperty(ConditionPropertyMapping conditionPropertyMap) { DebugCheck.NotNull(conditionPropertyMap); AddConditionProperty(conditionPropertyMap, _ => { }); }
internal void RemoveConditionProperty(ConditionPropertyMapping condition) { this.m_conditionProperties.Remove(condition.Property ?? condition.Column); }