XSD DataSets e ignorar claves externas

votos
26

Tengo una configuración de tabla bastante estándar en una aplicación actual usando .NET XSD DataSet y TableAdaptercaracterísticas. Mi contractstabla consiste en cierta información de contrato estándar, con una columna para el primary department. Esta columna es una clave externa a mi Departmentsmesa, donde almaceno el básico department name, id, notes. Esto es todo configuración y funcionamiento 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 estoy viendo los datos del contrato.

Sin embargo, cuando voy a mi página administrativa, modifico 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 dice que aquí hay una referencia de clave foránea, supongo que ya que no tengo el Contract DataTablerelleno.

¿Como 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.

Publicado el 01/08/2008 a las 17:33
fuente por usuario
En otros idiomas...                            


2 respuestas

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

Respondida el 01/08/2008 a las 20:52
fuente por usuario

votos
0

Apagar Check-Constraintsen el menú de propiedades, es el mejor método!

Respondida el 28/12/2017 a las 02:36
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more