(1). Transaction management.
(2). Support for pure Object based programming.( do not have any SQL interacts on developer end).
(3). Give flexibility to generate code automatically.
(4). Support for one-to-many and many-to-many sort of relations between database objects.
(5). Pluggable to any sort application i.e. Web, Standalone, Rich Client.
(6). Support for maximum databases.
I evaluated following DAL softwares.
(7). MyGeneration DOODS
(9). voidSoft Datablock.
(10). And lastly Typed DataSet from Visual Studio IDE.
I am glad to share that almost every DAL library given above is Free-of-Cost, that comes with GPL or restrictive GPL license. Anyone can add these library to their application and generate small apps, within small fraction of time.
As i already mentioned i was driving this sort of research in sort of finding a good DAL that can fit in my requirements. After evaluating i came to conclusion that. The feature’s i was looking for are available in SubSonic 2.0.3. I never want to say that other DAL do not these feature’s (again, it depends on personal choice and type of evaluations anyone is doing). The most exiting feature i found while using Subsonic as DAL for my window applications are:
(1). Automated code generation using command-line utility sonic.exe.
for ex. sonic generate /server localhost /db AnyDB /generatedNamespace xxxxx.BusinessObjects /appendWith _ /out ".\BO"
(2). Attribute based support for XML serialization, and validation can also be added using attribute.
(3). Based on Proven Enterprise Library architecture.
(4). Support for Object based queries.
(5). Supports transaction facade.
(6). Support of maximum popular databases.
(7). One can define all database parameter’s in application configuration and can switch the database without changing a single line of code.
That’s all i was searching for my small applications. The only thing i came across is no support for table that do not have primary key’s at all.
Hope anybody will get help from this post.
Contact me at : firstname.lastname@example.org