Conjuntos de datos XSD e ignorar claves externas
Pregunta
Tengo una configuración de tabla bastante estándar en una aplicación actual usando el .NETO XSD DataSet
y TableAdapter
características.Mi contracts
La tabla consta de información estándar del contrato, con una columna para el primary department
.Esta columna es una clave externa para mi Departments
mesa, donde guardo lo básico department name
, id
, notes
.Todo esto está configurado y funcionando en mi servidor SQL.
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 veo los datos del contrato.
Sin embargo, cuando voy a mi página administrativa para modificar los datos del departamento, normalmente hago algo como esto:
Dim dtDepartment As New DepartmentDataTable()
Dim taDepartment As New DepartmentTableAdapter()
taDepartment.Fill(dtDepartment)
Sin embargo, en este punto se lanza una excepción que indica que hay una referencia de clave externa rota aquí, supongo que ya que no tengo la Contract DataTable
completado.
¿Como puedo solucionar este problema?Sé que puedo simplemente eliminar la clave externa del XSD para que todo funcione bien, pero tener una verificación de integridad adicional allí y que el esquema XSD coincida con el esquema SQL en la base de datos es bueno.
Solución
Puede intentar desactivar las restricciones de verificación en el conjunto de datos (está en sus propiedades) o alterar las propiedades de esa relación y cambiar la clave a una referencia simple, depende de usted.