Para localizar una tabla en el diagrama de entidades (edmx):
1. Abrir el .edmx
2. Hacer click en la pestaña "Model Browser"
**Si la pestaña Model Browser no está visible, ir a View / Other Windows / Entity Data Model Browser ***
3. Ubicar la tabla en la lista, y luego hacer click derecho y "Show in Diagram"
Mostrando entradas con la etiqueta data entity framework. Mostrar todas las entradas
Mostrando entradas con la etiqueta data entity framework. Mostrar todas las entradas
Error 0019: Each type name in a schema must be unique
Este error ocurre en Data Entity Framework cuando quedan versiones antiguas de las .dll's.
Es necesario borrar las .dll's de la carpeta dll de los siguientes proyectos:
DAL
Persistencia
Luego, recompilar DAL y Persistencia y luego la solución que las utilice.
Referencia: http://realnero.blogspot.com/2010/04/entity-framework-error-0019.html
Es necesario borrar las .dll's de la carpeta dll de los siguientes proyectos:
DAL
Persistencia
Luego, recompilar DAL y Persistencia y luego la solución que las utilice.
Referencia: http://realnero.blogspot.com/2010/04/entity-framework-error-0019.html
Unable to load the specified metadata resource
Unable to load the specified metadata resource
Este error ocurre cuando las rutas de Entity Framework definidas en el web.config no coinciden con las que contiene el ensamblado:
Los archivos involucrados en este problema son:
.csdl
.msl
.ssdl
Para averiguar qué rutas está utilizando la aplicación, se debe ir a la carpeta bin del sitio publicado, y analizar con reflection la .dll que corresponda al nombre del sitio (en este ejemplo, el sitio se llama CobTercerosWeb, por lo cual analizaremos el archivo CobTercerosWeb.dll)
Abrir el archivo con la aplicación ILSpy
Abrir la carpeta Resources
Los nombres de los archivos que allí aparecen deben coincidir con los que se referencien en el web.config (o app.config) de la aplicación.
En este caso, el problema radica en que la configuración establecida en el web.config difiere de la ubicación real de los archivos de recursos.
El archivo Web.config contiene lo siguiente:
<add name="cexofflineEntities" connectionString="metadata=res://*/CexOfflineEntities.csdl|res://*/CexOfflineEntities.ssdl|res://*/CexOfflineEntities.msl;provider=System.Data.SqlClient;provider connection string="data source=Xdesa;initial catalog=cexoffline;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
Fuente: http://www.ozkary.com/2012/10/unable-to-load-specified-metadata.html
Aplicación ILSpy: http://ilspy.net/
Los archivos involucrados en este problema son:
.csdl
.msl
.ssdl
Para averiguar qué rutas está utilizando la aplicación, se debe ir a la carpeta bin del sitio publicado, y analizar con reflection la .dll que corresponda al nombre del sitio (en este ejemplo, el sitio se llama CobTercerosWeb, por lo cual analizaremos el archivo CobTercerosWeb.dll)
Abrir el archivo con la aplicación ILSpy
Abrir la carpeta Resources
Los nombres de los archivos que allí aparecen deben coincidir con los que se referencien en el web.config (o app.config) de la aplicación.
En este caso, el problema radica en que la configuración establecida en el web.config difiere de la ubicación real de los archivos de recursos.
El archivo Web.config contiene lo siguiente:
<add name="cexofflineEntities" connectionString="metadata=res://*/CexOfflineEntities.csdl|res://*/CexOfflineEntities.ssdl|res://*/CexOfflineEntities.msl;provider=System.Data.SqlClient;provider connection string="data source=Xdesa;initial catalog=cexoffline;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
Mientras que los nombres de los archivos en el ensamblado son estos:
- ModelCexOffline.csdl
- ModelCexOffline.msl
- ModelCexOffline.ssdl
Hay dos posibles soluciones:
1. En este caso, la solución es cambiar en el web.config los nombres CexOfflineEntities por ModelCexOffline.
2. Volver a crear el .edmx en el proyecto pero con los nombres correctos.
Dado que uBuilder adapta los strings de conexión dependiendo del destino de la publicación, la opción 2 es la que debe adoptarse.
Aplicación ILSpy: http://ilspy.net/
Error Entity framework "the entity framework provider type..."
Si hay una solucion que tiene dos proyectos, por ej, una dll que usa entity framework y un tester, el tester también tiene que tener las librerias de entity framework. Se deben instalar desde nuGet.
An unhandled exception of type 'System.InvalidOperationException' occurred in mscorlib.dll
Additional information: The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer' registered in the application config file for the ADO.NET provider with invariant name 'System.Data.SqlClient' could not be loaded. Make sure that the assembly-qualified name is used and that the assembly is available to the running application. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information.
Si no se hace, aparece el siguiente error:
Additional information: The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer' registered in the application config file for the ADO.NET provider with invariant name 'System.Data.SqlClient' could not be loaded. Make sure that the assembly-qualified name is used and that the assembly is available to the running application. See http://go.microsoft.com/fwlink/?LinkId=260882 for more information.
Consultas SQL estándar con SqlQuery en Data Entity Framework
class Cliente
{
public int Id {get; set;}
public string Nombre {get; set;}
}
public IEnumerable<Cliente> leerClientesPorAPEPAT(String apepat)
{
var db = new X_XEntities();
var parameter = new SqlParameter("@param", String.Format("%{0}%", apepat));
var c = db.Database.SqlQuery<Cliente>("select top 500 id, nombre from Cliente " +
"where tipper = 1 and " +
"(apepat like @param) ", parameter);
return c;
}
{
public int Id {get; set;}
public string Nombre {get; set;}
}
public IEnumerable<Cliente> leerClientesPorAPEPAT(String apepat)
{
var db = new X_XEntities();
var parameter = new SqlParameter("@param", String.Format("%{0}%", apepat));
var c = db.Database.SqlQuery<Cliente>("select top 500 id, nombre from Cliente " +
"where tipper = 1 and " +
"(apepat like @param) ", parameter);
return c;
}
Suscribirse a:
Entradas (Atom)


