Entity Framework - Erwartung einer nicht leeren Zeichenfolge für den Parameter 'providerInvariantName'
Ok, das hat vielleicht nichts mit EF zu tun. Ich versuche, die Code-First-Funktion zu verwenden, und Folgendes habe ich geschrieben: -
var modelBuilder = new ModelBuilder();
var model = modelBuilder.CreateModel();
using (AddressBook context = new AddressBook(model))
{
var contact = new Contact
{
ContactID = 10000,
FirstName = "Brian",
LastName = "Lara",
ModifiedDate = DateTime.Now,
AddDate = DateTime.Now,
Title = "Mr."
};
context.contacts.Add(contact);
int result = context.SaveChanges();
Console.WriteLine("Result :- "+ result.ToString());
}
Die Kontextklasse: -
public class AddressBook : DbContext
{
public AddressBook()
{ }
public AddressBook(DbModel AddressBook)
: base(AddressBook)
{
}
public DbSet<Contact> contacts { get; set; }
public DbSet<Address> Addresses { get; set; }
}
und die Verbindungszeichenfolge: -
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="AddressBook" connectionString="Data Source=MyMachine;Initial Catalog=AddressBook;Integrated Security=True;MultipleActiveResultSets=True;providerName=System.Data.SqlClient"/>
</connectionStrings>
</configuration>
So ist der Datenbankname "AddressBook" und der Fehler tritt auf, wenn ich das AddressBook-Objekt initialisiere. Ich sehe Leute, die vorschlagen, der Verbindungszeichenfolge (providerName = "System.Data.SqlClient") hinzuzufügen. Aber es funktioniert in meinem Fall nicht. Vermisse ich hier etwas?