Hi I'm getting my data from a web service using their getData call and it comes in as fairly chunky heirarchical XML, first everything all at once, like
<allData>
<product1>
<property1>
<subProperty1>
</subProperty1>
[...other sub properties]
</property1>
<product1>
[...product2, product3,]
</allData>
Update/ picture for question clarity (Flow I am concerned with now is Right to Left):

Is this a good way to do it? So we have XML Data coming externally, deserialize it into C# Objects in our Server app, then I have to make a choice of how to store it on the SQL Database...
Should I use Varbinary Data type? Then Deserialize it when updates occur in the User APPS?
Update: For now I will use XML as my message payload to make it easier to read when debugging and testing, then when the project is just nearing completion, I will try to switch it to binary and marshal/ un-marshal data on both sides as I think there may be some performance advantages to this.