J'ai écrit un DataSet personnalisé (basé sur un DataSet fortement typé, plus je vois) et je veux le rendre approprié pour être utilisé au moment du design, des choses comme être traînées depuis la ToolBox (généré automatiquement en tant qu'outil DataSet). Tout cela se passe parce que j'essaie de garder la méthodologie de développement, définie par mes collègues de travail (je suis le nouveau, hahaha), Bien sûr, je suis conscient de l'existence de Entity Framework et ce genre de choses. Donc, je reçois cette erreur lorsque je le place sur mon formulaire:.Net DataSet ne convient pas pour le design
Relation nommé « ParentChild_Relation » appartient déjà à ce DataSet
Bien sûr, il est une relation de la matière
C'est le code:
Public Class MyDataSet
Inherits DataSet
Public Const PARENTCHILD_RELATION As String = "ParentChild_Relation"
Public Sub New()
MyBase.New()
Me.BeginInit()
Me.CreateDataSet()
Me.EndInit()
End Sub
Private Sub CreateDataSet()
DataSetName = "Test"
Me.EnforceConstraints = True
Me.Tables.Add(New ParentTable) 'custom datatable
Me.Tables.Add(New ChildTable) 'custom datatable
CreateRelation()
End Sub
Private Sub CreateRelation()
With DirectCast(Me.Tables(ChildTable.TABLENAME).Constraints.Add(PARENTCHILD_RELATION ,
Me.Tables(ParentTable.TABLENAME).Columns(ParentTable.ID),
Me.Tables(ChildTable.TABLENAME).Columns(ChildTable.ID)), ForeignKeyConstraint)
.UpdateRule = Rule.Cascade
.DeleteRule = Rule.Cascade
Me.Relations.Add(.ConstraintName, .RelatedColumns, .Columns, False)
End With
End Sub
End Class
Je serai au courant de toute l'aide possible
EDIT
Il fonctionne sans cette ligne:
Me.Relations.Add(.ConstraintName, .RelatedColumns, .Columns, False)
Mais, je veux encore la relation DataSet parce que c'est la façon dont ils travaillent
EDIT 2
Sans la ligne précédente, elle ne trouve pas de relation à travers les liaisons:
BindingSource.DataSource = New MyDataSet
BindingSource.DataMember = "ParentChild_Relation"