У меня есть актер, что при получении запроса от проекта WebAPI, актер запрашивает таблицу с помощью Entity Framework 6.Использование LocalDB с пакетом ткани
using (var context = new MetadataContext())
{
var userStorageAccountId = context.Set<UsersToStorageAccounts>()
.Find(userId).StorageAccountId;
}
БД был успешно создан с помощью «Add-Migration "..„Update-Database“команды, и имеет следующую строку соединения:
@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFileName=C:\Users\xxxx\Metadata.mdf;Connect Timeout=30;Initial Catalog=Metadata;Integrated Security=True;"
Когда я бегу службы ткани и актер пытается получить доступ к контексту, я получаю следующее исключение:
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.)
и ошибка просмотра событий является:
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.
Я искал способ, чтобы загрузить профиль пользователя, но я нашел только решения для IIS.
Пожалуйста, помогите :)
Весь смысл использования Service Fabric - простое развертывание без заботы о сервере. LocalDB (база данных в процессе, которая хранит данные локально) означает, что вы действительно хотите * изменить * сервер и привязаться к нему, так как вы не сможете перейти на другую машину, не теряя ваши данные. И вдобавок ко всему, ваш код использует путь db, указывающий на определенную папку пользователя. –
@PanagiotisKanavos LocalDB используется только для отладки. Если ткань службы работает в среде разработки, используется LocalDB, и если она работает в prod, используется сервер mssql db. Я не могу заставить его работать локально, для целей отладки. – shlatchz
Не используйте его тогда. Service Fabric * не будет * запускаться под вашей учетной записью даже локально, поэтому он * не может * получить доступ к вашему каталогу пользователей. Фактически, ошибка предполагает, что Service Fabric работает под учетной записью, которая просто не разрешает загрузку профиля, т. Е. Не имеет профиля, а не каталога пользователя. * Почему * использовать LocalDB вообще, вместо локальной установки SQL Server?Dev edition бесплатно –