|
Thank you for the detailed explanation. This is starting to all make some sense.
So I'm actually making some progress now. We've removed the Identity declaration off of the column in our database table and updated our DataModel. Interestingly enough we had to go into the model and change the "StoreGeneratedPattern" property of the column from "Identity" to "None" manually. The update model operation didn't catch this (another bug?). We found that this change was required as well otherwise our NumericIdGenerator was never called. DevForce always assumed an identity column even though in the database it was no longer an identity column.
Anyways, now that my IdGenerator is being called I'm running into the following error when I try to commit to the database:
"The formatter threw an exception while trying to deserialize the message: There was an error while trying to deserialize parameter http://ideablade.com/EntityModel:workState - http://ideablade.com/EntityModel:workState .
The InnerException message was 'Element 'http://ideablade.com/EntityModel:NextIdGenerator' contains data from a type that maps to the name 'http://schemas.datacontract.org/2004/07/OrianaHouse.CMIS.UI:NumericIdGenerator'.
The deserializer has no knowledge of any type that maps to this name. Consider using a DataContractResolver or add the type corresponding to 'NumericIdGenerator' to the list of known types - for example, by using the KnownTypeAttribute attribute or by adding it to the list of known types passed to DataContractSerializer.'.
Please see InnerException for more details."
I'm guessing here that my NumericIdGenerator is not being found on the server side? This leads me once again to one of the questions I asked previously in this thread. Where do I need to place my NumericIdGenerator so that it can be seen on both the Client and Server side?
Currently I have the NumericIdGenerator in my main interface assembly on the Client side. This assembly contains a reference to my domain model assembly named "CMISModelSL".
On the server side I went ahead and just placed the NumericIdGenerator in the data model itself called "CMISModel". I tried the KnownTypeAttribute and that didn't make a difference.
Below are screenshots of my project structure:
|