Το έλυσα. Για κάθε tableadapter, είπα στο ontablenewrow να φτιάχνει ένα guid και έκανα override το endedit. Τώρα παίζει άψογα αλλά... παράξενο δεν είναι ?
using System.Data;
using System;
namespace WindowsFormsApplication1 {
public partial class testDataSet
{
partial class masterDataTable
{
protected override void OnTableNewRow(System.Data.DataTableNewRowEventArgs e)
{
base.OnTableNewRow(e);
((masterRow)e.Row).masterID = Guid.NewGuid();
}
public override void EndInit()
{
base.EndInit();
this.TableNewRow += delegate(object sender, DataTableNewRowEventArgs e) { };
}
}
partial class childDataTable
{
protected override void OnTableNewRow(System.Data.DataTableNewRowEventArgs e)
{
base.OnTableNewRow(e);
((childRow)e.Row).childID = Guid.NewGuid();
}
public override void EndInit()
{
base.EndInit();
this.TableNewRow += delegate(object sender, DataTableNewRowEventArgs e) { };
}
}
}
}