When combining explicit calls to DbModelBuilder.ComplexType and lightweight conventions that touch properties from the complex type, conventions win.
```
var modelBuilder = new DbModelBuilder();
modelBuilder
.Entity<LightweightEntity>();
modelBuilder
.Types<LightweightEntity>()
.Configure(t => t.Property(e => e.ComplexProperty.StringProperty).HasColumnName("Foo"));
modelBuilder
.ComplexType<LightweightComplexType>()
.Property(e => e.StringProperty)
.HasColumnName("Bar");
var databaseMapping = BuildMapping(modelBuilder);
databaseMapping.AssertValid();
databaseMapping.ShellEdmx();
Assert.NotNull(
databaseMapping.Database
.EntityTypes.Single()
.Properties.SingleOrDefault(p => p.Name == "Bar")); // is Foo
```
```
var modelBuilder = new DbModelBuilder();
modelBuilder
.Entity<LightweightEntity>();
modelBuilder
.Types<LightweightEntity>()
.Configure(t => t.Property(e => e.ComplexProperty.StringProperty).HasColumnName("Foo"));
modelBuilder
.ComplexType<LightweightComplexType>()
.Property(e => e.StringProperty)
.HasColumnName("Bar");
var databaseMapping = BuildMapping(modelBuilder);
databaseMapping.AssertValid();
databaseMapping.ShellEdmx();
Assert.NotNull(
databaseMapping.Database
.EntityTypes.Single()
.Properties.SingleOrDefault(p => p.Name == "Bar")); // is Foo
```