Maui Android Используйте локальный вопрос о базе данных SQLiteC#

Место общения программистов C#
Ответить
Anonymous
 Maui Android Используйте локальный вопрос о базе данных SQLite

Сообщение 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>
Указанная таблица. нужно сделать, чтобы решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/796 ... file-issue
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»