Open kobeliu9527 opened 10 months ago
That would be really good
I am also interested in this. I have written my own implementation which seems to work great, but has involved quite a bit of code writing and is possibly overkill. I'm about two write my third implementation for a more complex system but I am surprised I can't find any examples. Here is roughly what I have done:
All the elements in my diagram are customized by inheriting from NodeModel, PortModel, LinkModel. I added a virtual methods GetSaveState() LoadSaveState() which emit/consume a POCO / DTO object hierarchy representing the diagram. That is, I am making a complete clone of all the state information I want to persist. This class is sufficiently simple to serialized to JSON, or EF Core, or XML.
My actual model is quite complicated - quite a few concrete nodes, links and ports which are built from a hierarchy of abstract nodes links and ports. The serialization seems to work okay so far, but I'm still keen to see if there is a smarter way.
Just my thoughts about serialization: A mapper should be able to handle all your cases, mapping from and to NodeModels. In addition it would leave absolutely no room for abstraction on your persistance layer.
Serializing Node Models would break the boundaries between architecture levels of every application. Depending of the technology used to transfer Data from and to the blazor app, it could also be incompatible with default serialization (think of gRPC).
Can it be serialized now? Saving it to a database is a common requirement, will it be implemented? Thank you for providing such a powerful library. If serialization could be implemented, that would be great. Looking forward to it! "System. Text. Json" is much more powerful than before