Я использую Maui (.net 8) для моего приложения Android. Я добавил файл базы данных SQLite, ранее настроенный в SQLite Studio. Протестированное подключение на рабочем столе (Windows 11 на моей локальной машине) - оно работает хорошо. Но после переключения Target Target на Android я могу запустить приложение, но не могу использовать свою базу данных. Я пытался прикрепить базу данных как встроенный ресурс, но все еще не положительный эффект для моей проблемы. Также пытался использовать относительный путь: "/files/psyonicru_localdb.sqlite" . Конфигурация базы данных в коде, указанная ниже: < /p>
public static IServiceCollection WithDatabase(this IServiceCollection builderServices, IConfiguration builderConfiguration)
{
var databaseConfig = builderConfiguration.GetSection("Database").Get();
var singleConnectionString = databaseConfig?.SingleConnectionString
.Replace("{AppDir}", AppDomain.CurrentDomain.BaseDirectory)
.Replace("\\", "/"); // value: "Data Source=/data/user/0/com.companyname.cbt.maui.blazor/files/psyonicru_localdb.sqlite"
builderServices.AddDbContextFactory(options =>
{
options.UseSqlite(singleConnectionString);
}, ServiceLifetime.Transient);
builderServices.AddDbContextFactory((options) =>
{
options.UseSqlite(singleConnectionString);
}, ServiceLifetime.Transient);
}
public class CBTIdentityDataContext : IdentityDbContext
{
public CBTIdentityDataContext(DbContextOptions options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
#region Identity
builder.Entity().ToTable("_AspNetUser", "dbo"); // schema name ignored by SQLite provider, not the problem
builder.Entity().ToTable("_AspNetRole", "dbo");
builder.Entity().ToTable("_AspNetRoleClaim", "dbo");
builder.Entity().ToTable("_AspNetUserClaim", "dbo");
builder.Entity().ToTable("_AspNetUserRole", "dbo");
builder.Entity().ToTable("_AspNetUserLogin", "dbo");
builder.Entity().ToTable("_AspNetUserToken", "dbo");
#endregion
}
}
< /code>
Ошибка появляется в журнале вывода: < /p>
sqlite error 1: 'Нет такой таблицы: _aspnetuser'. < /p>
< /blockquote>
Указанная таблица. нужно сделать, чтобы решить эту проблему?
Подробнее здесь: https://stackoverflow.com/questions/796 ... file-issue
Maui Android Используйте локальный вопрос о базе данных SQLite ⇐ C#
Место общения программистов C#
-
Anonymous
1750511392
Anonymous
Я использую Maui (.net 8) для моего приложения Android. Я добавил файл базы данных SQLite, ранее настроенный в SQLite Studio. Протестированное подключение на рабочем столе (Windows 11 на моей локальной машине) - оно работает хорошо. Но после переключения Target Target на Android я могу запустить приложение, но не могу использовать свою базу данных. Я пытался прикрепить базу данных как встроенный ресурс, но все еще не положительный эффект для моей проблемы. Также пытался использовать относительный путь: "/files/psyonicru_localdb.sqlite" . Конфигурация базы данных в коде, указанная ниже: < /p>
public static IServiceCollection WithDatabase(this IServiceCollection builderServices, IConfiguration builderConfiguration)
{
var databaseConfig = builderConfiguration.GetSection("Database").Get();
var singleConnectionString = databaseConfig?.SingleConnectionString
.Replace("{AppDir}", AppDomain.CurrentDomain.BaseDirectory)
.Replace("\\", "/"); // value: "Data Source=/data/user/0/com.companyname.cbt.maui.blazor/files/psyonicru_localdb.sqlite"
builderServices.AddDbContextFactory(options =>
{
options.UseSqlite(singleConnectionString);
}, ServiceLifetime.Transient);
builderServices.AddDbContextFactory((options) =>
{
options.UseSqlite(singleConnectionString);
}, ServiceLifetime.Transient);
}
public class CBTIdentityDataContext : IdentityDbContext
{
public CBTIdentityDataContext(DbContextOptions options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
#region Identity
builder.Entity().ToTable("_AspNetUser", "dbo"); // schema name ignored by SQLite provider, not the problem
builder.Entity().ToTable("_AspNetRole", "dbo");
builder.Entity().ToTable("_AspNetRoleClaim", "dbo");
builder.Entity().ToTable("_AspNetUserClaim", "dbo");
builder.Entity().ToTable("_AspNetUserRole", "dbo");
builder.Entity().ToTable("_AspNetUserLogin", "dbo");
builder.Entity().ToTable("_AspNetUserToken", "dbo");
#endregion
}
}
< /code>
Ошибка появляется в журнале вывода: < /p>
sqlite error 1: 'Нет такой таблицы: _aspnetuser'. < /p>
< /blockquote>
Указанная таблица. нужно сделать, чтобы решить эту проблему?
Подробнее здесь: [url]https://stackoverflow.com/questions/79674453/maui-android-use-local-sqlite-database-file-issue[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия