Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Is there a library for table arrays?

  1. Mar 29, 2013 #1

    For a software on which we are currently working we need a .net library for reading/writing array of data tables from/to relational databases.

    Is there such a library for .net?

  2. jcsd
  3. Mar 29, 2013 #2

    Filip Larsen

    User Avatar
    Gold Member

    I am not sure exactly what you mean by "array of data tables", but if you have a "normal" .NET object model, then perhaps you can use Microsofts own Entity Framework (EF), which is a general purpose Object-Relational Mapping (ORM) library.
  4. Apr 1, 2013 #3
    As far as I know, the Entity Framework is generally used for mapping object fields to table fields, in a sense, to achieve object persistence at field level.

    What we need for our analytical table functions is slightly different. We want to store and read complete in-memory tables together with their instance information. Each table instance is an element of an array of tables. This is persistence at table level.

    What we need is in principle simple read and write commands like the following:

    write(TableName, Table, InstanceKey) : writes in-memory table Table into database

    Table = read(TableName, InstanceKey) : reads in-memory table Table from database

    For simplicity of understanding InstanceKey can be assumed to be a string and Table a DataTable object though they are both different types in our case. For example we use MatrixTable instead of DataTable for in-memory tables with a simplified data structure which is more proper for analytical operations.

    Why table arrays? As an example assume we have separate cost and margin tables for each year in order to calculate price tables for each year. We could formulate this calculation as follows:

    CostTbl2008 = read("cost_table", 2008);
    MarginTbl2008 = read("margin_table", 2008);

    PriceTbl2008 = tablemult(CostTbl2008, MarginTbl2008);
    write("price_table", PriceTbl2008 , 2008); // store result for 2008 in database

  5. Apr 21, 2013 #4


    User Avatar
    Gold Member

    I have not heard of such a library, but it seems quite feasible to write such a library yourself in .NET.
  6. Apr 24, 2013 #5

    We also couldn't find such a library; so we have extended our non-commercial library (finaquant protos) to include a class named Persistent Table Array which handles these database operations.

Share this great discussion with others via Reddit, Google+, Twitter, or Facebook