Passionate .NET developer, architect, writer.

Professional carrier started with C++ in early 90x: ported 2D CAD graphic library from SGI Iris Indigo to Windows NT. Due to some of my optimizations NT version worked 20x faster on 1K$ PC/AT machine than original lib on 200K$ Indigo.

Later on in late 90x I authored well known Delphi components:

  • XLGrid – MS Excel-like spreadsheet engine;
  • XLEditors – improved VCL editor library;
  • Layers – Photoshop-like alpha-blended controls featuring MMX-powered inlines.

In 2000 I moved to Germany, Frankfurt. Until 2005 was a die hard Delphi fan, but left Delphi in favor of C# after release of .NET Framework 2.0. The language of choice is now found.

Focused mostly on Line of Business applications, accompanying libraries, technologies, UI frameworks. It may sounds strange but I still prefer WinForms to WPF for desktop development. And still like Silverlight very much for hybrid web/desktop offline/disconnected applications.

Right now struggling with stepchild of Silverlight called WinRT.

Author of several open source projects:

  • Kind of Magic – MSBuild task for effortless INotifyPropertyChanged
  • Lex.DB – superfast, cross-platform, embedded, POCO database engine written in C#.
  • Lex.DB.Sync – lightweight synchronization framework for WCF Data Services and Web Api, powered by Lex.DB.

Feel free to read some of my articles, leave a feedback or comment.


15 thoughts on “About”

  1. Hello Lex,
    I think you’re making a great job with Lex.Db.

    I was started a week ago reusing a WP7 app (that was finally not published) and was struggling searching for a “clean” mode to share a Sqlite db between Win8Store app and WinPhone8 app.

    After a lot of searching over the web, finally I found an article on Nokia developer site in which there was the solution, with your Lex.Db.

    From this morning I dramatically improved the status of my solution. I am really enthusiast about your db.

    Tomorrow morning I will attend to a Microsoft’s event in Rome, that is a lab about WP8 and W8 dev. I will talk with my friend (that is a Microsoft Evangelist) about your database.

    I may give my contribution to project development, I’m available to do it if you want.
    My name is Roberto Albano (dancerjude) and my mail is roberto.albano@gmail.com . Let me know.

    In any case, go straight ahead, and thank you!

    1. Not sure this is Lex.DB specific question. Lex.DB cannot operate with read-only resource streams.
      But since Lex.DB database is just set of files, you as a developer can prepare these files by unpacking/copying them from your app xap/appx on first start.

      1. Ok thanks. I was looking for something like sterling db backup and restore but if just copying the files to isolated storage from the xap will work I will do that.

  2. Hi Lex, i just playing arround with the lex.db.sync. it syncs only from server to the device. is this a missconfiguration of my database?

    1. It’s just not implemented in that version. As soon as I’m back from vacation, I’ll do a major update.

      Thank you

  3. Hi,
    Just wondering if you were going to update Lex.Db, since upgrading to Windows 8.1 I have noticed the following message appearing lots of times in the output window:

    WinRT information: Cannot call the requested method (GetBasicPropertiesAsync). A previous call to this method is pending and must return before the method can be called again.
    A first chance exception of type ‘System.InvalidOperationException’ occurred in Lex.Db.DLL

    1. Lex.DB is heavily used on my daily job project, running on Windows 8.1. Never encountered this problem.
      Could you please provide more usage details, so I can try to reproduce the issue?

      There is probably noone more interested to fix this issue asap than me 😉

      1. So I am using Visual Studio 2013, but still targetting 8.0 at present, and the error appears whenever a call is made to retrieve data

        I have got an Init method in the DB class thus:

        public static async Task Init(string dBPath)
        DBPath = dBPath;

        db = new DbInstance(DBPath);

        .Key(c => c.Key)
        .WithIndex(CHALLENGE_DATE_INDEX, c => c.PlayDate);

        await db.InitializeAsync();

        The class referenced above is:
        public class ChallengeLite
        #region Constructors

        public ChallengeLite()
        { }


        #region Properties

        private string _key;
        public string Key
        get { _key = string.Format(“{0:DDMMYYYY}{1}”, PlayDate, Difficulty); return _key; }
        set { _key = value; }

        public DateTime PlayDate { get; set; }

        public Difficulty Difficulty { get; set; }

        public int Score { get; set; }

        public bool UploadPending { get; set; }


        and I get the error on lines such as:

        var dateIndex = await Task.Run(() => tblChallenges.IndexQuery(CHALLENGE_DATE_INDEX).Key(playDate).ToList());

        If you need any more info/details drop me an email on the address used for this post.


  4. Hi Lex,

    I created a windows desktop program in C# that uses lex.db. I was wondering if you could tell me where the .data files of the databases created by the program are stored locally.

    Thanks for all the great work.


  5. I am using lex.db in my windows store application , I ran Wack test and seems like if gets failed due to lex.db

    Error details :

    Supported API test

    FAILED Supported APIs Error Found: The supported APIs test detected the following errors: API GetFileAttributesW in kernel32.dll is not supported for this application type. Lex.Db.dll calls this API. API MoveFileW in kernel32.dll is not supported for this application type. Lex.Db.dll calls this API. Impact if not fixed: Using an API that is not part of the Windows SDK for Windows Store apps violates the Windows Store certification requirements. How to fix: Review the error messages to identify the API that is not part of the Windows SDK for Windows Store apps. Please note, C++ apps that are built in a debug configuration will fail this test even if it only uses APIs from the Windows SDK for Windows Store apps. ”

    Please help

  6. Hi there,

    just started to test out my current app with the new universal app Feature. And when I’m trying to add the nuGet Packacke for lex.db on the wp8.1 branch I get the following message:

    Could not install package ‘Lex.Db’. You are trying to install this package into a project that targets ‘WindowsPhoneApp,Version=v8.1’, but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.

    1. VS 2013 Update 2 RC is a day old. I haven’t yet tried it to give you a time estimate.

      I believe in a week or so, Universal Apps will be supported. Should not be a problem.

Leave a Reply

Your email address will not be published. Required fields are marked *