Tengo una configuración de tabla bastante estándar en una aplicación actual que utiliza las características .NETXSDDataSet
y TableAdapter
. Mi tabla contracts
consiste en cierta información de contrato estándar, con una columna para el primary department
. Esta columna es foreign key en mi tabla Departments
, donde almaceno el department name
básico, id
, notes
. Esto es todo configuración y funcionamiento en mi SQL Server.XSD DataSets e ignorar claves externas
Cuando uso la herramienta XSD, puedo arrastrar ambas tablas a la vez y detecta/crea automáticamente la clave externa que tengo entre estas dos tablas. Esto funciona muy bien cuando estoy en mi página principal y estoy viendo los datos del contrato.
Sin embargo, cuando voy a mi página administrativa para modificar los datos del departamento. Me suelen hacer algo como esto:
Dim dtDepartment As New DepartmentDataTable()
Dim taDepartment As New DepartmentTableAdapter()
taDepartment.Fill(dtDepartment)
Sin embargo, en este punto se produce una excepción dicho en el sentido de que hay una referencia de clave externa roto aquí, supongo que ya no tengo la Contract
DataTable
lleno.
¿Cómo puedo solucionar este problema? Sé que puedo simplemente eliminar la clave externa del XSD para que todo funcione bien, pero tener la verificación de integridad adicional allí y tener el esquema XSD coincidente con el esquema SQL en la base de datos es bueno.