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
Regards
Tunc