Pregunta

Estoy tratando de saltar de ASP clásico a asp.net. He seguido tutoriales para obtener Entity Framework y LINQ para conectar a mi base de datos de prueba, pero estoy teniendo dificultades para averiguar ExecuteQuery(). Creo que el problema es que necesito una "clase entidad" para mi base de datos, pero no puedo encontrar la manera de hacerlo. Aquí está mi código simple:

Dim db as New TestModel.TestEntity
Dim results AS IEnumerable(OF ???) = db.ExecuteQuery(Of ???)("Select * from Table1")

A partir del ejemplo sitio de Microsoft, que utilizan una clase de entidad llamada clientes, pero no entienden lo que eso significa.

¿Fue útil?

Solución

Entity Framework viene con un diseñador visual. En ese diseñador, se conecta a su base de datos existente, y selecciona todas las tablas (y posiblemente visitas) desde su base de datos que desea trabajar.

A partir de esa selección, EF generará clases entidad una para cada una de las tablas, por ejemplo si usted tiene una mesa Customers, obtendrá una clase Customer, si usted tiene una mesa Products, se obtiene una clase Product.

Estas clases representan (por defecto) la estructura de la tabla 1: 1 - por ejemplo, cada columna de la tabla se traduce en una propiedad de la clase.

Una vez que tienes eso, ya no está tratando con sentencias SQL y cosas por el estilo ExecuteQuery() - que dejar eso a EF para manejar para usted

.

Se acaba de pedir lo que necesita, por ejemplo, todos sus clientes de un determinado estado:

var ohioCustomers = from c in dbContext.Customers
                    where c.State = "OH"
                    select c;

Esta sentencia devolverá un IEnumerable<Customer> -. Una lista de clientes que coincida con sus criterios de búsqueda

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top