2008-08-01 14 views
25

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 ContractDataTable 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.

Respuesta

10

Puede intentar desactivar Check-constraints en el DataSet (está en sus propiedades), o alterar las propiedades de esa relación, y cambiar la clave por una referencia simple, depende de usted.

0

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

Cuestiones relacionadas