locked
Design/Architecture question RRS feed

  • Question

  •  

    Hello All,

     

    I am in the process of designing a winform appl which is used to manage an Application Database.

     

    The GUI needs to display a datagrid with all the columns of a DB table in the back end. But, the users will need the functionality for adding/removing attributes(Columns) as well!!

     

    For eg, a product table might have attributes like Type, Size, Color,etc. Tomorrow, the users might decide to add another attribute, say "Sector".

     

    The users will need to be able to make updates in the datagrid, but when they click on a row and select details, the columns(Attibutes) will need to be displayed as text boxes/drop down lists in a details form.

    The winforms app talks to web services, which in turn talks to a DAL which updates the database.

     

    If the schema had been static, I could have mapped the selected row to a business object and could have passed it on the web service and read the object from the DAL. But now, I cant have typed datasets/Business Objects because of the add/delete attributes functionality since the list of properties for a product are not fixed.

     

    Getting a dataset from the service and building the details screen at runtime seems to be a bit complex since we have a large number of tables to maintain and the complexities of handling order change of columns, accessing the columns using an index,etc. Is there any suggested way/a better solution for this?

    Thanks,

    Arun

    Tuesday, July 1, 2008 3:33 PM

All replies

  • Arun, LInQ provides the better solution for your scenario.  On refreshing dbmx/edmx file, the data definition get updated.  On updating the service reference in the client side, the database structure changes will be available at GUI layer of the system.

    Sunday, January 9, 2011 6:31 AM