Today I am going to saw you how easy is the Generation of runtime members. eXpand provides a controller that extends model schema and allow runtime generation of members without writing even 1 line of code (Xaf power to the people!!!)
For doing this You have to use a combination of features from eXpand.DictionaryDifference.dll && eXpand.ExpessApp.Win.dll
This generation is doable due to the fact that we have use use DictionaryDifference module to store the model in the database, and since there is a clear distinguish between user model and application model, we can have use dictionarydifference UI to set the Model editor attribute that does that expansion, which is the IsRuntimeMember attribute defined at eXpand.ExpressApp.SystemModule.AddRuntimeFieldsFromModelToXPDictionary controller
Imagine the power you have, now you can create a more dynamic extension of model schema cause you at runtime!!
Our scenario will involve adding a new Mobile Phone member to our User class publish that change to all applications that run in our network
DictionaryDifference take care also the debugging scenario by using the model.xafml stored in your disk as application model when debugging and the one stored on the database when not, so becarefull when running your solution at debug mode because it always is going to use as an application model the one stored at your disk and when you do not run at runtime (CTRL+F5) the one stored at the database will be used
see demo video
eXpand is available at http://code.google.com/p/expandframework/downloads/list