Wer kennt nicht das Problem mit dem Primary Key, Dataset und der NoNullAllowedException?
Ich habe mir die Finger wund gegoogelt um eine “einfache” Lösung des Problems zu finden, und bin über folgenden kleinen Codefetzen gestoßen, welchen man nur in seinem Dataset einpflegen muß (Rechtsklick auf das Dataset (XSD) im Designer und “View Code” auswählen.
private bool CreateDefaultGuids = false;
public void CtreateDefaultGuids()
{
if (CreateDefaultGuids) return;
CreateDefaultGuids = true;
foreach (DataTable dt in this.Tables)
{
if (dt.Columns[0] != null)
{
dt.TableNewRow += new DataTableNewRowEventHandler(TableNewRowStudy);
}
}
}
private void TableNewRowStudy(object sender, DataTableNewRowEventArgs e)
{
if (e.Row[0] is DBNull)
e.Row[0] = Guid.NewGuid();
}
Jetzt muß dies im _Load Event deiner Form einmalig CtreateDefaultGuids() aufgerufen werden, und schon ist Schluß mit der NoNullAllowed Exception.