Typed Datasets - GetChildRows (Bug or am I doing something wrong?)

Typed Datasets - GetChildRows (Bug or am I doing something wrong?)

Post by R2lkaW9 » Tue, 07 Feb 2006 01:53:40


Hi everybody!

I've stumbled across a funny behaviour of a typed dataset in a new
application of mine. Some how the generated code gives me a Invalid Cast
Exception.

I've reproduced the behaviour as follows.
I've created a database "test160106", I've created the table "Parent" with
two columns (column 1: ID int, column 2: nvarchar name) and a table "Child"
with three columns (column 1: ID int, column 2: nvarchar name, column 3: int
ParentID). I also added the relation between ParentID and Parent table.)

I added a new data connection pointing to this database and let it create my
datasets.

Now I use the following code that should me give me all child rows belonging
to a parent.


test160106DataSetTableAdapters.ParentTableAdapter _pta = new
Test160106.test160106DataSetTableAdapters.ParentTableAdapter();

foreach (test160106DataSet.ChildRow _childRow in
_pta.GetData().FindByID(1).GetChildRows())

{

Console.Write(String.Format("{0}: {1}", _childRow.ID, _childRow.Name));

}

Console.ReadLine();

When executing this code, it gives me an Invalid Cast Exception (Unable to
cast object of type 'ParentRow[]' to type 'ChildRow[]'.), which comes from
the generated code:

[System.Diagnostics.De *** NonUserCodeAttribute()]

public ChildRow[] GetChildRows() {

return
((ChildRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Child_Parent"])));

}


Can anyone reproduce this? If so, is it a bug or am I doing someting I
shouldn't be?

Any help appreciated.

(originally posted this on C9
http://www.yqcomputer.com/ #155801, no help there,
so I tried here)
 
 
 

Typed Datasets - GetChildRows (Bug or am I doing something wrong?)

Post by Miha Marki » Tue, 07 Feb 2006 03:47:58

Are you sure that relation in dataset is set correctly?
(dumb question)

--
Miha Markic [MVP C#]
RightHand .NET consulting & development www.rthand.com
Blog: http://www.yqcomputer.com/