protected AnyMapping any_with_column(string column) { var any = new AnyMapping(); any.AddIdentifierColumn(Layer.Defaults, new ColumnMapping(column)); any.AddTypeColumn(Layer.Defaults, new ColumnMapping(column)); return(any); }
public void ShouldWriteTypeColumns() { var mapping = new AnyMapping(); mapping.AddTypeColumn(Layer.Defaults, new ColumnMapping("Column1")); writer.VerifyXml(mapping) .Element("column").Exists(); }
public void ShouldWriteTypeColumnsBeforeIdentifiers() { var mapping = new AnyMapping(); mapping.AddIdentifierColumn(Layer.Defaults, new ColumnMapping("Column1")); mapping.AddTypeColumn(Layer.Defaults, new ColumnMapping("Column2")); writer.VerifyXml(mapping) .Element("column[1]").HasAttribute("name", "Column2"); }
public void ShouldWriteTypeColumns() { var mapping = new AnyMapping(); mapping.AddTypeColumn(new ColumnMapping { Name = "Column1" }); writer.VerifyXml(mapping) .Element("column").Exists(); }
AnyMapping IAnyMappingProvider.GetAnyMapping() { var mapping = new AnyMapping(attributes.CloneInner()); if (typeColumns.Count() == 0) { throw new InvalidOperationException("<any> mapping is not valid without specifying an Entity Type Column"); } if (identifierColumns.Count() == 0) { throw new InvalidOperationException("<any> mapping is not valid without specifying an Entity Identifier Column"); } if (!mapping.IsSpecified("IdType")) { throw new InvalidOperationException("<any> mapping is not valid without specifying an IdType"); } mapping.ContainingEntityType = entity; if (!mapping.IsSpecified("Name")) { mapping.Name = property.Name; } if (!mapping.IsSpecified("MetaType")) { if (metaValues.Count() > 0) { metaValues.Each(mapping.AddMetaValue); mapping.MetaType = new TypeReference(typeof(string)); } else { mapping.MetaType = new TypeReference(property.PropertyType); } } foreach (var column in typeColumns) { mapping.AddTypeColumn(new ColumnMapping { Name = column }); } foreach (var column in identifierColumns) { mapping.AddIdentifierColumn(new ColumnMapping { Name = column }); } return(mapping); }
AnyMapping IAnyMappingProvider.GetAnyMapping() { var mapping = new AnyMapping(attributes.Clone()); if (typeColumns.Count() == 0) { throw new InvalidOperationException("<any> mapping is not valid without specifying an Entity Type Column"); } if (identifierColumns.Count() == 0) { throw new InvalidOperationException("<any> mapping is not valid without specifying an Entity Identifier Column"); } if (!idTypeSet) { throw new InvalidOperationException("<any> mapping is not valid without specifying an IdType"); } mapping.ContainingEntityType = entity; mapping.Set(x => x.Name, Layer.Defaults, member.Name); if (!mapping.IsSpecified("MetaType")) { mapping.Set(x => x.MetaType, Layer.Defaults, new TypeReference(member.PropertyType)); } if (metaValues.Count() > 0) { metaValues.Each(mapping.AddMetaValue); mapping.Set(x => x.MetaType, Layer.Defaults, new TypeReference(typeof(string))); } foreach (var column in typeColumns) { var columnMapping = new ColumnMapping(); columnMapping.Set(x => x.Name, Layer.Defaults, column); mapping.AddTypeColumn(Layer.UserSupplied, columnMapping); } foreach (var column in identifierColumns) { var columnMapping = new ColumnMapping(); columnMapping.Set(x => x.Name, Layer.Defaults, column); mapping.AddIdentifierColumn(Layer.UserSupplied, columnMapping); } return(mapping); }
public void TypeColumnsCollectionHasSameCountAsMapping() { mapping.AddTypeColumn(new ColumnMapping()); inspector.TypeColumns.Count().ShouldEqual(1); }
protected AnyMapping any_with_column(string column) { var any = new AnyMapping(); any.AddIdentifierColumn(Layer.Defaults, new ColumnMapping(column)); any.AddTypeColumn(Layer.Defaults, new ColumnMapping(column)); return any; }
public void ShouldWriteTypeColumnsBeforeIdentifiers() { var mapping = new AnyMapping(); mapping.AddIdentifierColumn(new ColumnMapping { Name = "Column1" }); mapping.AddTypeColumn(new ColumnMapping { Name = "Column2" }); writer.VerifyXml(mapping) .Element("column[1]").HasAttribute("name", "`Column2`"); }