Ich habe einen Schauspieler, der erstellt wurde 6.Mit LocalDB mit Service Fabric
using (var context = new MetadataContext())
{
var userStorageAccountId = context.Set<UsersToStorageAccounts>()
.Find(userId).StorageAccountId;
}
Die DB Entity Framework eine Anfrage von einem WebAPI Projekt, der Schauspieler, der eine Tabelle abfragt beim Empfang mit successfuly der „Add-Migration mit "..‚Update-Datenbank‘Befehle und hat die folgende Verbindungszeichenfolge:
@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFileName=C:\Users\xxxx\Metadata.mdf;Connect Timeout=30;Initial Catalog=Metadata;Integrated Security=True;"
Wenn ich den Stoff Dienst ausgeführt und der Schauspieler versucht, den Kontext zugreifen zu können, ich die folgende Ausnahme erhalten:
A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 50 - Local Database Runtime error occurred. Cannot create an automatic instance. See the Windows Application event log for error details.)
und die Ereignisanzeige Fehler ist:
Cannot get a local application data path. Most probably a user profile is not loaded. If LocalDB is executed under IIS, make sure that profile loading is enabled for the current user.
ich für eine Art und Weise sah das Profil des Benutzers zu laden, aber ich fand nur Lösungen für IIS.
Bitte helfen :)
Der ganze Sinn der Verwendung von Service Fabric ist eine einfache Bereitstellung, ohne sich um den Server kümmern zu müssen. LocalDB (eine In-Process-Datenbank, die Daten lokal speichert) bedeutet, dass Sie den Server wirklich modifizieren * wollen * und sich daran binden wollen, da Sie nicht auf einen anderen Rechner wechseln können, ohne Ihre Daten zu verlieren. Darüber hinaus verwendet Ihr Code einen Datenbankpfad, der auf einen bestimmten Benutzerordner verweist. –
@PanagiotisKanavos Die LocalDB wird nur zum Debuggen verwendet. Wenn das Service Fabric in einer Entwicklungsumgebung ausgeführt wird, wird LocalDB verwendet. Wenn es in prod ausgeführt wird, wird eine mssql-Serverdatenbank verwendet. Ich kann es nicht lokal zum Debugging arbeiten. – shlatchz
Verwenden Sie es nicht dann. Service Fabric * wird unter Ihrem Konto nicht einmal lokal ausgeführt, sodass es nicht auf Ihr Benutzerverzeichnis zugreifen kann. Der Fehler weist darauf hin, dass Service Fabric unter einem Konto ausgeführt wird, das das Laden von Profilen nicht zulässt, dh kein Profil hat, dh kein Benutzerverzeichnis. Warum überhaupt LocalDB anstelle einer lokalen Installation von SQL Server verwenden?Dev-Edition ist kostenlos –