I haven't tried using PascalCasing Schema fields myself, so not 100% sure if that will work. But since the standard in STRI is using camelCasing, I think it makes sense to stick to that standard, mixing the two is confusing to everybody wouldn't you say?
However looking at your annotation what is happening is the following:
you annotate with the prefix "s", so I'm assuming there is a SemanticEntity
annotated on the class with a vocabulary defined, most likely that is "http://schema.org"
this means your Schema will need to be annotated with that vocabulary too, and the field will need to be annotated with the mentioned property as described in the documentation
However, I think you will be able to test this quicker if you just follow the process of mapping an Entity
field to a Schema field with a different name.
So for example, if your Schema field was named "headline", you would use the following in your Entity
class:
public string Headline { get; set; }
But if you wanted your Entity
field to be named Subtitle
for instance, you would then annotate it like this:
[SemanticProperty("headline")]
public string Subtitle { get; set; }
Now if I understand corrrectly, you have a Schema field Description
, so I would suggest to simply try:
[SemanticProperty("Description")]
public string Description { get; set; }
If that doesn't work, then you can go the route of Semantic mapping via a vocabulary (which means using prefixes), but then don't use schema.org, since that does not have a field Description
. You will have to use a custom vocabulary (you can simply use http://stan.org
). Make sure you follow the documentation to map that vocabulary correctly on the Schema and annotate the field, and then don't forget to republish the settings (because else this new Schema mapping isn't known by the web application).
SemanticEntity
annotation is added to the class where this property is part of? Could you edit your question and add the source code of the class too, so we know what vocabulary is meant by the prefix "s"?