Skip to content

Db file locking read errors / Italian UI prompts #124

@ps30

Description

@ps30

Package version

5.0.0

Affected package

BLite (client SDK)

.NET version

10.0

Description

Consistent file read errors when trying to use the single database file even in read-only mode.

Following the sample documentation on and using Blite Studio to open the sample database myapp.blite results in "System.IO.IOException: 'The process cannot access the file 'C:...\repos\MyApp\bin\Debug\net10.0\myapp.blite' because it is being used by another process.' from the sample app code. The same problem is found when attempting to open the myapp.blite file from BLite Studio even in read-only mode.

Perhaps there is some problem with locking/unlocking the database but this should never happen on a single file database especially with read-only access needed from multiple applications (like BLite Studio). Multiple different applications should be able to read data from the database without blocking.

Image

The current published version of BLite Studio for Windows x64 is generating many UI prompts in Italian and not the system default language: github.com/EntglDb/BLite/releases/download/studio-v4.4.2/BLite.Studio-4.4.2-win-x64-portable.zip

Image Image

Minimal reproduction

    static async Task Main(string[] args)
    {
        using var db = new AppDbContext("myapp.blite");
        var users = db.Users;

        var newUser = new User
        {
            Name = "Alice",
            Age = 30,
            Email = "alice@example.com"
        };

        await users.InsertAsync(newUser);
        Console.WriteLine($"Inserted with ID: {newUser.Id}");

        // Find by ID
        var user = await users.FindByIdAsync(newUser.Id, CancellationToken.None);
        Console.WriteLine($"Found user: {user?.Name}, Age: {user?.Age}");

        // Query with async LINQ
        List<User> results = await users.AsQueryable().Where(u => u.Age > 25).ToListAsync(CancellationToken.None);
        foreach (var u in results)
        {
            Console.WriteLine($"User: {u.Name}, Age: {u.Age}");
        }
    }

Expected behavior

Should be able to read the database from multiple sources with correct locking/sharing.

Actual behavior

Example database file myapp.blite locked even for read-only access. Using all demo/sample code from BLite website.

Additional context

No response

Metadata

Metadata

Labels

bugSomething isn't workingpackage/clientAffects BLite client SDKtriage

Type

No type
No fields configured for issues without a type.

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions