Las tablas no se muestran al volver a agregarlas al modelo de entidad (edmx)




 Tengo un db con 5 mesas. Al principio, agregué esas tablas, pero luego decidí eliminar algunas debido a algún error de compilación de la relación. 

 Ahora, cuando quiero volver a agregarlos, estoy abriendo el archivo edmx -> actualizar el modelo de la base de datos ... No veo esas tablas en la pestaña Agregar, sino solo en la pestaña "Actualizar". 

 ¿Cómo puedo agregarlos de nuevo?
Para volver a agregar una tabla a su modelo, primero deberá eliminar la tabla de su modelo. (se puede ver una lista de tablas en el árbol [model.Store] (vea el panel ' **Explorador de modelos** '; puede abrirla desde el menú del botón derecho del mouse). Cuando ejecute 'Actualizar modelo desde la base de datos ...' la tabla aparecerá en la pestaña 'Agregar' en el primer paso del 'Asistente de actualización'. 

 Pasos para completar: 

1. Cierra tu modelo en Visual Studio.
2. Abra su archivo .edmx en un editor de texto.
3. Busque y elimine los elementos de la entidad XML (vea las notas a continuación).
4. Abre tu modelo en Visual Studio.
5. Haga clic en Actualizar modelo de la base de datos.

 Para eliminar todas las referencias a una tabla en su Modelo: 

* En el elemento 'EntityContainer', elimine todos los elementos secundarios 'EntitySet' que tienen el atributo 'Nombre' establecido en el valor [TableNameToReAdd].
* En el elemento 'EntityContainer', elimine todos los elementos secundarios 'AssociationSet' donde exista un elemento 'End' que tengan su atributo 'EntitySet' establecido en el valor [TableNameToReAdd].
* En el elemento 'EntityContainer', elimine todos los elementos secundarios 'EntityType' donde tengan el atributo 'Nombre' establecido en el valor [TableNameToReAdd].
* En el elemento 'EntityContainer', elimine todos los elementos secundarios de 'Asociación' donde exista un elemento 'Fin' que tenga su atributo 'Función' establecido en el valor [TableNameToReAdd].
Los datawindows solo pueden actualizar 1 tabla a la vez. Por más que tengas varias tablas relacionadas solo podrás actualizar una de ellas.  
Ahora para hacer lo que deseas tendras que recorrer tu dw  y usar un insert o update si fuera el caso. o directamente un insert. Aquí está la solución. Puede utilizar el siguiente código: 


```
context.Table.Where(x => x.Field1 > 0).Update(y => new Table { Field2 = y.Field2 + 1 });

```
  Espero que ayude. Ok te ayudo pero no me aclaro.  
Voy a corregir algunas de tus palabras  
y me dices si he acertado o no.En caso  
Negativo corrígeme. Gracias.   
Buenas tardes. Tengo una MDB que importa DE un txt QUE CONTIENE los albaranes introducidos en diferentes terminales de venta:CAMPOS o COLUMNAS... Proveedor, nº\_albarán, Fecha\_albarán, cod\_artic, deno\_artic, unidades, p\_costo y Total . El problema es que solo se rellena EN EL TXT el campo nº\_albarán (campo texto) y Fecha\_albarán (campo Fecha/hora) en la primera FILA de cada uno, el resto de LOS REGISTROS O FILAS del mismo albarán NO muestran estos dos datos por lo que no puedo agruparlos UNA VEZ OBTENIDA LA TABLA por albarán, fecha y total (el txt muestra los mismos datos que la tabla, por lo que no es un problema de importación)Me indican que en VBA si se puede conseguir al importar el txt(COMENTARIO:QUE YO SEPA NO SE PUEDEN MANIPULAR LOS PARÁMETROS DE IMPORTACIÓN MEDIANTE CÓDIGO, PERO NO HACE FALTA, HAY OTRAS FORMAS, MEDIANTE CÓDIGO PODEMOS MODIFICAR EL TXT ANTES DE IMPORTAR) pero mis conocimientos son muy básicos y no entiendo este lenguaje de programación. ¿Existe otro modo de hacer que en caso de valor Null tome el valor del mismo campo en la FILA O REGISTRO anterior?   
Gracias por la ayuda   
  
Otra cosa:1-abre el txt con el wordpad e intenta hacer"reemplazar texto"  
A ver si puedes repararlo tu mismo y nos ahorramos trabajo.  
2-Mandame un fragmento de txt de 2 o 3 albaranes a mi mail  
que encontraras en mi currículo.  
Esto funcionará muy pronto! pues solo la plantilla ojdt. revisa bien la plantilla csv o txt que parece que tiene o detecta más columnas de las que estás pasando…

configura la plantilla de nuevo partiendo de cero o elimina todas las columnas y filas que te sobren… *Nota: la respuesta se proporcionó en un comentario en la pregunta original. Solo le estoy agregando un poco aquí, para hacerlo más visible y claro.* 





 Entity Framework obviamente asigna clases de C # a tablas de bases de datos a través de propiedades que representan las distintas columnas en cada tabla. Ahora, si el tipo de datos de una de estas propiedades no es compatible con el tipo de datos de su columna correspondiente en la base de datos, obtendrá una `System.InvalidCastException` cuando intente recuperar algo de esa tabla, incluso si la propiedad no coincide no está directamente involucrada en la búsqueda 

 En la pregunta, la consulta fue: 


```
User user = context.Users.First(i => i.UserId == id);

```
  No importa que tanto `id` como su propiedad correspondiente `UserId` sean válidas y compatibles entre sí aquí, porque lo que se está buscando es una instancia de toda la clase de `User` . 

 Aparentemente, el tipo de alguna otra propiedad en el `User` es incompatible con el tipo una columna con el mismo nombre en la tabla de `user` en la base de datos, por lo que el intento de mapearlo arroja la excepción anterior. Tienes que usar la función BUSCARV para que en función de un valor busques en la primera columna de tu otra tabla, e indicándole el número de columna consigas el dato deseado.

Otra opción es usar las funciones INDICE e COINCIDIR.

En Internet y Youtube hay muchos tutoriales, el propio Excel tiene también ejemplos.

Desafortunadamente con la información que proporcionas no veo como orientarte de manera más específica. la tabla que envias en el parámetro

it\_toolbar\_excluding del método set\_table\_for\_first\_display esta excluyendo el botón de variante de visualización.

revisa dicha tabla y comenta dicho codigo, por ejemplo podría ser el siguiente o similar:

clear wa\_exclude.

wa\_exclude = cl\_gui\_alv\_grid=>mc\_fc\_c… Como te va, te recomendaría que hagas la consulta de la siguiente manera para ver si es lo que estas necesitando:  
select campo1, campo2, campo3  
from tabla  
where campo1 like ('%expresion%') and campo1 like ('%expresion1%')   
Si esto no te resulta, dime que intentamos algún camino alternativo,  
Sin más,  
Leandro Buenas con todos, si efectivamente las interfaces cambiaron y esta característica se encuentra en la siguiente ubicación para los que no la encontraron a simple vista como yo.  

  

Tools -> Computer Management  

<http://imageshack.us/f/9/il7s.png/>  

  

Shared Folder  

<http://imageshack.us/f/194/82w1.png/> Básicamente hay varias cosas que puedes hacer. 

* usando `SqlBulkCopy.WriteToServer` que no funciona muy bien junto con EF, sin embargo, existen varios intentos para crear extensiones
* utilizando un procedimiento almacenado que tomará un registro grande y lo dividirá de acuerdo con alguna lógica
* utilizando parámetros de procedimiento almacenado escritos en la tabla y realice una llamada al procedimiento almacenado (y varias `insert ... select` dentro del procedimiento almacenado)

 En general, prefiero la tercera opción. 

 Marque esta pregunta [Entity Framework Stored Procedure Tabla Valor Parámetro](https://stackoverflow.com/questions/8157345/entity-framework-stored-procedure-table-value-parameter)