Buscar..


Conectarse a una base de datos existente

Para lograr la tarea más sencilla en Entity Framework: para conectarse a una base de datos de ExampleDatabase Base de datos en su instancia local de MSSQL, debe implementar solo dos clases.

Primero está la clase de entidad, que se asignará a nuestra base de datos dbo.People .

    class Person
    {
        public int PersonId { get; set; }
        public string FirstName { get; set; }
    }

La clase utilizará las convenciones de Entity Framework y se dbo.People a la tabla dbo.People que se espera que tenga un clave principal, PersonId y una propiedad varchar (max), FirstName .

La segunda es la clase de contexto que deriva de System.Data.Entity.DbContext y que administrará los objetos de la entidad durante el tiempo de ejecución, los agrupará desde la base de datos, manejará la concurrencia y los guardará de nuevo en la base de datos.

    class Context : DbContext
    {
        public Context(string connectionString) : base(connectionString)
        {
            Database.SetInitializer<Context>(null);
        }

        public DbSet<Person> People { get; set; }
    }

Tenga en cuenta que en el constructor de nuestro contexto debemos establecer el inicializador de la base de datos en nulo; no queremos que Entity Framework cree la base de datos, solo queremos acceder a ella.

Ahora puede manipular los datos de esa tabla, por ejemplo, cambiar el FirstName de la primera persona en la base de datos desde una aplicación de consola como esta:

    class Program
    {
        static void Main(string[] args)
        {
            using (var ctx = new Context("DbConnectionString"))
            {
                var firstPerson = ctx.People.FirstOrDefault();
                if (firstPerson != null) {
                    firstPerson.FirstName = "John";
                    ctx.SaveChanges();
                }
            }
        }
    }

En el código anterior creamos una instancia de contexto con un argumento "DbConnectionString". Esto se debe especificar en nuestro archivo app.config como este:

  <connectionStrings>
    <add  name="DbConnectionString" 
    connectionString="Data Source=.;Initial Catalog=ExampleDatabase;Integrated Security=True" 
    providerName="System.Data.SqlClient"/>
  </connectionStrings>


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow