W
wl
Hi,
I'm currently finishing a project that might come in handy for someone else
as well:
I have created 3 classes:
- PersistenceItem: allows for an automatic mapping between properties or
members and fields in a database. I can automatically detected whether any
one the "persisted" members have changed and thus the database record should
be updated, or inserted or deleted. It can work with any OleDb compliant
database.
- PersistenceCollection: a collection of PersistenceItems. The collection
can be build with a a specific filter, items are created automatically (of
the correct type), it keeps tracks of all changes in the collection (and
allows for "batch operations"). It also provides temporary PK values (in
case the PK is numeric) which are converted in "real" PK's when written to
the database etc. The PersistenceCollection can be used as the source of a
DataGrid or any other databinding mechanism.
- PersistenceReader: A sort of PersistenceCollection "lite": it returns a
OleDbDataReader with records matching a filter: but the individual records
are not being created automatically (thus saving memory). An PersistenItem
instance can be created easily with one method call as requested. You can
also use two different PeristenceItem descendant classes: one for the
collection (eg: Datagrid) with limited number of "columns" and an extended
with all members needed (detail screen for example).
It uses reflection to do the database access behind the screens.
I'm currently beta testing it myself and would like to know whether anyone
would be interested. If so: please send a mail to:
(e-mail address removed) (remove all x'ses).
I'm currently finishing a project that might come in handy for someone else
as well:
I have created 3 classes:
- PersistenceItem: allows for an automatic mapping between properties or
members and fields in a database. I can automatically detected whether any
one the "persisted" members have changed and thus the database record should
be updated, or inserted or deleted. It can work with any OleDb compliant
database.
- PersistenceCollection: a collection of PersistenceItems. The collection
can be build with a a specific filter, items are created automatically (of
the correct type), it keeps tracks of all changes in the collection (and
allows for "batch operations"). It also provides temporary PK values (in
case the PK is numeric) which are converted in "real" PK's when written to
the database etc. The PersistenceCollection can be used as the source of a
DataGrid or any other databinding mechanism.
- PersistenceReader: A sort of PersistenceCollection "lite": it returns a
OleDbDataReader with records matching a filter: but the individual records
are not being created automatically (thus saving memory). An PersistenItem
instance can be created easily with one method call as requested. You can
also use two different PeristenceItem descendant classes: one for the
collection (eg: Datagrid) with limited number of "columns" and an extended
with all members needed (detail screen for example).
It uses reflection to do the database access behind the screens.
I'm currently beta testing it myself and would like to know whether anyone
would be interested. If so: please send a mail to:
(e-mail address removed) (remove all x'ses).