Erstens bin ich ziemlich neu in LINQ to SQL, also ist dies wahrscheinlich eine dumme Frage, aber ich versuche, einen neuen Datensatz in die Datenbank und ich einzufügen halten sie die folgende Störung zu erhalten:LINQ to SQL SubmitChanges() funktioniert nicht zum Einfügen neuer Datensatz
The client was unable to establish a connection because of an error during connection initialization process before login. Possible causes include the following: the client tried to connect to an unsupported version of SQL Server; the server was too busy to accept new connections; or there was a resource limitation (insufficient memory or maximum allowed connections) on the server. (provider: Shared Memory Provider, error: 0 - The handle is invalid.)
ich kann meinen Code für Schritt durch und sehen sie, dass alle Daten vorhanden ist, wie ich es erwarten würde, aber wenn es die Hits
db.SubmitChanges()
in dem folgenden Verfahren Ich bekomme den Fehler. Was mache ich falsch? Das ist SOO frustrierend und ich habe einen Tag verloren, LINQ to SQL herauszufinden ... Ich bin halb versucht, es einfach zu packen und ADO.NET und gespeicherte Procs wieder zu verwenden.
public static void Save(Customer customerToSave)
{
IpmDatabaseDataContext db = new IpmDatabaseDataContext();
db.Customers.InsertOnSubmit(customerToSave);
// commit the changes to the db
db.SubmitChanges();
}
In meiner app.config hat es diese Verbindungszeichenfolge:
<connectionStrings>
<add name="IPM.Business.Properties.Settings.IPMConnectionString"
connectionString="Data Source=socrates\sqlexpress;Initial Catalog=IPM;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
ich noch Maschine auf meinem dev bin, so ist dies die richtige Verbindungszeichenfolge.
Das hat wahrscheinlich etwas mit dem Setup der Datenbank oder der Verbindungszeichenfolge (Verbindungspooling usw.) zu tun. Könntest du mehr Infos dazu schreiben? –
Ihr LINQ ist wahrscheinlich in Ordnung. Überprüfen Sie die Datenbankverbindung (oder erstellen Sie den Kontext neu) –