Long ago I was happy. I always used the SqlDataSource and my GridViews bound with all the features I could ever want. I didn’t have to write 1000s of lines of code to page and sort. It worked so well, I mistakenly thought the magic was due to the GridView or the xxxDataSource technology. Actually, the paging and sorting is irregularlly implemented depending on datasource.
New datasources appeared on the scene, like SQLite, SQL Compact, and data generated data access layers, like SubSonic. I realized that as soon as you bind to an ObjectDataSource, a dataset/datatable, you are responsible for paging and sorting. At best you’ll be able to register all your grids to some common code. (I gotta look up that link for the technique)– you quickly find yourself back in the world of the DataGrid, with 1000s of lines of code to write.
Now I’m thinking everyone should pick a grid that at minimum supports paging and sorting. I’m choosing Telerik’s grid, which can sort and page any datasource so long as you use the NeedData event for binding.
In 3.5 it support AES encryption, which is required for use in US Federal government software development.
It can run run in ASP.NET, even though it isn’t a “supported” use. I read this as the team that is writing it doesn’t have the resources to rigorously check and see how safe or dangerous it is to use Sql Compact in an ASP.NET environment. Given the success of SQLite (or XML for that matter, e.g. Das Blog) I think file based DBs for small websites are a proven concept, and heck, it’s better than the alternative, given the known failures of MS-Access.
It uses SQL Sever Management Studio as the primary tool for interaction.
It supports Linq, especially if you use SQL Metal.
Some ETL tools exist.
On the otherhand, it lacks JDBC, ODBC access. It doesn’t have the ease of import/export that MS-Access has.
Log4net buffers, i.e. it accumulates log entry then writes them to the database.
So if you are testing log4net and getting nothing… it might be the buffering.
If the no-code editable grid isn’t updating, check that AllowAutomaticUpdates is true. The documenation seems to leave out this important detail, except in the description of the AllowAutomaticUpdates property.