Herramientas de usuario

Herramientas del sitio


fw:othersnet:dlinq

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
fw:othersnet:dlinq [2009/07/31 09:05]
alfred
fw:othersnet:dlinq [2020/05/09 09:25] (actual)
Línea 328: Línea 328:
  
 Lo malo es que no funcionará la edición. Esto es debido a que estamos haciendo una montaje personalizado en el método Selecting, y el LINQDataSource no tiene forma de saber cómo actualizar la entidad. Si queremos añadir soporte para la edición podríamos crear un control ObjectDataSource (al que le agregaríamos un método ''​Update''​ personalizado para contorlarlos),​ o hacer que el usuario navegue a una nueva página para hacer la actualización - y mostrar un ''​DetailsView''​ o ''​FormView''​ enlazado a la entidad Producto para la edición (y no intentar hacerlo en el grid). Lo malo es que no funcionará la edición. Esto es debido a que estamos haciendo una montaje personalizado en el método Selecting, y el LINQDataSource no tiene forma de saber cómo actualizar la entidad. Si queremos añadir soporte para la edición podríamos crear un control ObjectDataSource (al que le agregaríamos un método ''​Update''​ personalizado para contorlarlos),​ o hacer que el usuario navegue a una nueva página para hacer la actualización - y mostrar un ''​DetailsView''​ o ''​FormView''​ enlazado a la entidad Producto para la edición (y no intentar hacerlo en el grid).
 +
 +
 +
  
  
 ===== Notas ===== ===== Notas =====
-  * Cuando estás creando un fichero .dbml a partir de unas tablas sin claves primarias definidas, si quieres que se generen listas de las clases agregadas tendrás que indicarlas ​tú a mano.+  * Cuando estás creando un fichero .dbml a partir de unas tablas sin claves primarias definidas, si quieres que se generen listas de las clases agregadas tendrás que indicar ​tú las claves primarias ​a mano
 +  * No es aconsejable poner directamente el código de las clases parciales en el archivo derivado del .dbml, más vale ponerlo en archivos a parte. 
 +  * Cuando queremos que el ''​DataContext''​ se conecte en tiempo de ejecución a otra cadena de conexión no es aconsejable editar el fichero ''​.designer.cs''​ (donde se genera el código) ya que este cambiará al editar el .dbml. Lo mejor es agregar una clase parcial y escribir el constructor por defecto, entonces este ya no se generará y en los otros controles se utilizará el creado. También sería correcto cambiar la propiedad ''​ApplicationSettings''​ de la conexión del dbml poniendola a false. 
 +<code csharp>​ 
 +partial class databaseDataContext 
 +
 +  public databaseDataContext() 
 +    : base(codegest.Configuration.getConnectionString().ConnectionString,​ mappingSource) 
 +    { 
 +    } 
 +
 +</​code>​ 
 +  * Podemos cambiar el namespace de donde se generará el DataContext a partir de la propiedad ''​Context namespace''​ del .dbml y el namespace de donde se generarán las clases de las tablas generadas con la propiedad ''​Entity Namespace''​. 
 +  * Al trabajar con SQL Servers "​antiguos",​ al actualizar texto este se intenta comparar con el que había anteriormente y acaba por lanzar una excepción debido a que no lo permiten. La solución es indicar ''​UpdateCheck = UpdateCheck.Never''​.
fw/othersnet/dlinq.1249031101.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)