I'm designing a utility that will load data into a legacy SQL Server Database.
I've been trying to mock up a simple WinForms utility with C# using the DataSource connectors (Tried a straight ORM Entity Framework approach first, but was having problems as the db follows few conventions).
I am having particular difficulty in establishing parent/child relationships and displaying them with data grids (ie, click on this row and the child grid gets filtered).
Some examples of database challenges:
No foreign keys with referential constraints. What would normally be a foreign key shows up as part of the Primary composite key in "child" table. Sometimes with different data types (ie, double instead of long)
Sometimes a composite key is used on a parent table to define the entity, but only one of those composite fields shows up in a "child" table.
{dbo.Parent Key = [ParentID, ParentGroupID, OtherField], dbo.Child Key = [ChildID, ParentID]}
Naming conventions are non existent.
Things like this make it difficult to bind data sets to parent/child data grids, and use some of the other out of the box functionality that .NET offers.
How to address above challenges?
I tried looking at some older ADO.Net tutorials but sometimes methods have changed or are no longer available...