Ricerca…


Connetti a un database esistente

Per ottenere il compito più semplice in Entity Framework - per connettersi a un database di ExampleDatabase esistente ExampleDatabase locale di MSSQL, è necessario implementare solo due classi.

La prima è la classe di entità, che verrà mappata alla nostra tabella di database dbo.People .

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

La classe utilizzerà le convenzioni di Entity Framework e dbo.People alla tabella dbo.People che dovrebbe avere la chiave primaria PersonId e una proprietà varchar (max) FirstName .

La seconda è la classe di contesto che deriva da System.Data.Entity.DbContext e che gestirà gli oggetti entità durante il runtime, renderli pupillari dal database, gestire la concorrenza e salvarli nuovamente nel database.

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

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

Ti preghiamo di notare che nel costruttore del nostro contesto abbiamo bisogno di impostare l'inizializzatore del database su null - non vogliamo che Entity Framework crei il database, vogliamo solo accedervi.

Ora puoi manipolare i dati da quella tabella, ad esempio cambiare il FirstName della prima persona nel database da un'applicazione console come questa:

    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();
                }
            }
        }
    }

Nel codice sopra abbiamo creato l'istanza di Context con un argomento "DbConnectionString". Questo deve essere specificato nel nostro file app.config come questo:

  <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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow