Suche…


Stellen Sie eine Verbindung zu einer vorhandenen Datenbank her

Um die einfachste Aufgabe in Entity Framework zu erreichen: Um eine Verbindung zu einer vorhandenen Datenbank ExampleDatabase in Ihrer lokalen Instanz von MSSQL ExampleDatabase , müssen Sie nur zwei Klassen implementieren.

Zuerst wird die Entitätsklasse angegeben, die unserer Datenbanktabelle dbo.People .

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

Die Klasse verwendet die Konventionen von Entity Framework und dbo.People der Tabelle dbo.People deren Primärschlüssel PersonId und die varchar (max) FirstName .

Die zweite Klasse ist die von System.Data.Entity.DbContext Kontextklasse, die die Entitätsobjekte zur Laufzeit verwaltet, aus der Datenbank kopiert, die Parallelität handhabt und sie in der Datenbank speichert.

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

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

Bitte beachten Sie, dass wir im Konstruktor unseres Kontexts den Datenbankinitialisierer auf null setzen müssen. Wir möchten nicht, dass Entity Framework die Datenbank erstellt, sondern lediglich auf die Datenbank.

Jetzt können Sie Daten aus dieser Tabelle FirstName , z. B. den FirstName der ersten Person in der Datenbank von einer Konsolenanwendung wie FirstName ändern:

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

Im obigen Code haben wir eine Instanz von Context mit dem Argument "DbConnectionString" erstellt. Dies muss in unserer app.config Datei wie app.config angegeben werden:

  <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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow