Bei mir ist ein ähnlicher Fehler aufgetreten:
Schema specified is not valid. Errors: \r\nEntities.MyModel.msl(203,12) : error 2009: Content not valid. The conceptual side Member or Property 'Unit' specified as part of this MSL does not exist in MetadataWorkspace.
Dort hatte ich meine UNIT in beiden:
<EntityTypeMapping TypeName="IsTypeOf(MyObjectCharacteristic)">
<MappingFragment StoreEntitySet="OBJECT_CHARACTERISTICS">
<ScalarProperty Name="Unit" ColumnName="UNIT" />
<ScalarProperty Name="ClassName" ColumnName="CLASSNAME" />
<ScalarProperty Name="MyObjectID" ColumnName="OBJECTID" />
</MappingFragment>
</EntityTypeMapping>
<EntitySet Name="OBJECT_CHARACTERISTICS" EntityType="Self.OBJECT_CHARACTERISTICS" store:Type="Views" store:Schema="DBA">
<DefiningQuery>SELECT
dbo.RESOURCE.OBJECTID,
dbo.RESOURCE.CLASSNAME,
dbo.RESOURCE.UNIT
FROM dbo.RESOURCE
</DefiningQuery>
</EntitySet>
Außerdem musste ich sicherstellen, dass die Entitätsdetails der zugehörigen Klasse für das Objekt, das die Datenbanktabelle darstellte, das UNIT-Datenelement enthielt:
<EntitySetMapping Name="ObjectCharacteristics">
<EntityTypeMapping TypeName="IsTypeOf(ObjectCharacteristic)">
<ScalarProperty Name="Unit" ColumnName="UNIT" />
<ScalarProperty Name="ClassName" ColumnName="CLASSNAME" />
<ScalarProperty Name="ObjectId" ColumnName="OBJECTID" />
</EntityTypeMapping>
</EntitySetMapping>
Und außerdem,
<EntityType Name="ObjectCharacteristic" A:TypeAccess="Public" xmlns:a=""http://schemas.microsoft.com/ado/2006/04/codegeneration">
<Key>
<PropertyRef Name="ObjectId" />
</Key>
<Property Name="ObjectId" Type="String" />
<Property Name="ClassName" Type="String" />
<Property Name="Unit" Type="String" />
</EntityType>