I tried to mark the attribute with [Serializable] but it didn't make any difference. That makes sense if it doesn't matter as you said, it works fine for you with and without.
Then I tried to set [Serializable] for every contract inits inherited contracts likethis:
[DataContract]
[Serializable]
public class CustomerContract : EntityContract, IExtensibleDataObject
{
}
[DataContract]
[Serializable]
public class EntityContract : IExtensibleDataObject
{
}
After this I got a new message:
Type System.Runtime.Serialization.ExtensionDataObject in the assembly System.Runtime.Serialization, version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 is not marked as serializable.
As you can see this is not aclass that I have control over, because its in the System.Runtime.Serialization assembly, and its not serializable. Is it wrong to make my datacontracts implement this interface? I have commed a step further, but not reached the goal yet... Anyone?