Hi
I'm experiencing some difficulties with a WCF RIA Services similar to the problem specified in this thread.
The domainservice method I'm creating (a Query method) should take a complex object parameter. example domainservice method:
public ComplexObjectResult GetComplexObject(ComplexObjectParameter test)
{
//do stuff
}
the parameter object:
public class ComplexObjectParameter
{
[Key]
public decimal ID { get; set; }
... other fields
}
I get this compilation error: Error 70 Parameter 'test' of domain operation entry 'GetComplexObject' must be one of the predefined serializable types.
After some searching on the web I found this msdn thread. It states that this is a limitation of RIA services and the thread specifies no decent workarounds.
Now there seem to be some dirty workarounds:
Change the complex parameter to type string and Serialize/Deserialize the parameterobject ourself which I find a very hacky solution.
Use [Invoke] tag on the domain service method and loose all RIA tracking functionality, for which I am using RIA in the first place.
Are there alternatives for the mentioned solutions that have less disadvantages? Has someone found a more elegant workaround for this problem?
Thanks