Conjuntos de datos XSD e ignorar claves foráneas


Tengo una configuración de tabla bastante estándar en una aplicación actual utilizando . NET XSD DataSet y TableAdapter características. Mi tabla contracts consiste en cierta información estándar del contrato, con una columna para el primary department. Esta columna es una clave externa a mi tabla Departments, donde almaceno la clave básica department name, id, notes. Todo esto está configurado y funcionando en mi SQL Server .

Cuando uso la herramienta XSD, puedo arrastrar ambas tablas a la vez y automáticamente detecta / crea la clave foránea 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. 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 diciendo que hay una referencia de clave foránea rota aquí, supongo que ya que no tengo la Contract DataTable lleno.

¿Cómo puedo solucionar este problema? Sé que simplemente puedo eliminar la clave foránea del XSD para que las cosas funcionen bien, pero tener la comprobación de integridad adicional allí y que el esquema XSD coincida con el esquema SQL en la base de datos es bueno.

Author: Zoe, 2008-08-01

2 answers

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.

 11
Author: Greg Hurlman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-29 06:30:38

Desactivar Check-Constraints en el menú de propiedades, es el mejor método!

 0
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-12-28 05:36:18