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/16 10:15]
alfred
fw:othersnet:dlinq [2020/05/09 09:25] (actual)
Línea 329: Línea 329:
 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 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.1247739351.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)