Debes haber agregado un elemento "ADO.NET Entity Data Model" (Hay una opción para mapear una base de datos existente)
Yo estoy utilizando una base de datos MySQL (la integración con Visual Studio instala con "MySQL for visual studio"), pero es lo mismo para cualquier DBMS que hayas integrado con visual studio.
En este ejemplo los objetos del modelo que creó la plantilla están en "aguapotableEntities"
using(aguapotableEntities db = new aguapotableEntities() ) {
//Modo por objetos:
//MessageBox.Show ( db.users.Where(usr=>usr.person_id==2 ).First().permissions.First().application, "Una prueba");
// Usando LINQ
var applicationQuery = from person in db.persons
join permission in db.permissions
on person.id equals permission.user_id
where person.name.Contains("Arturo")
select new { nombre=person.name, app=permission.application, permisos=permission.permissions1};
string salida = "";
try {
foreach ( var result in applicationQuery ) {
salida += result.nombre + " - " + result.app + " " + result.permisos + "\n";
}
} catch(System.Data.Entity.Core.EntityException ex ) {
if (ex.HResult == -2146233087) //Este número de error da en MySQL, en otros DBMS hay que investigar
{
salida = "No se pudo conectar al origen de datos";
} else
{
//salida = "Hubo un error, checar innerException para ver codigo y descripcion y manejarlo";
throw;
}
}
MessageBox.Show(salida, "Resultado");
}