diff --git a/AideDeJeu/AideDeJeu.Android/AideDeJeu.Android.csproj b/AideDeJeu/AideDeJeu.Android/AideDeJeu.Android.csproj
index 1ffedc4e..c53b9000 100644
--- a/AideDeJeu/AideDeJeu.Android/AideDeJeu.Android.csproj
+++ b/AideDeJeu/AideDeJeu.Android/AideDeJeu.Android.csproj
@@ -73,6 +73,12 @@
     
       1.5.231
     
+    
+      4.5.0
+    
+    
+      4.5.1
+    
     
       3.2.0.871581
     
diff --git a/AideDeJeu/AideDeJeu.Android/NativeAPI.cs b/AideDeJeu/AideDeJeu.Android/NativeAPI.cs
index 903ab93e..043dd2e8 100644
--- a/AideDeJeu/AideDeJeu.Android/NativeAPI.cs
+++ b/AideDeJeu/AideDeJeu.Android/NativeAPI.cs
@@ -29,36 +29,36 @@ namespace AideDeJeu.Droid
 
         public string GetDatabasePath(string databaseName)
         {
-            string path = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
-            string dbPath = Path.Combine(path, databaseName);
-            return dbPath;
-            //var documentsDirectoryPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
-            //var path = Path.Combine(documentsDirectoryPath, databaseName);
+            //string path = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
+            //string dbPath = Path.Combine(path, databaseName);
+            //return dbPath;
+            var documentsDirectoryPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
+            var path = Path.Combine(documentsDirectoryPath, databaseName);
 
-            //// This is where we copy in our pre-created database
-            //if (!File.Exists(path))
-            //{
-            //    using (var inStream = Android.App.Application.Context.Assets.Open(databaseName))
-            //    {
-            //        using (var outStream = new FileStream(path, FileMode.Create))
-            //        {
-            //            inStream.CopyTo(outStream);
-            //        }
-            //    }
-            //    //using (var binaryReader = new BinaryReader(Android.App.Application.Context.Assets.Open(databaseName)))
-            //    //{
-            //    //    using (var binaryWriter = new BinaryWriter(new FileStream(path, FileMode.Create)))
-            //    //    {
-            //    //        byte[] buffer = new byte[2048];
-            //    //        int length = 0;
-            //    //        while ((length = binaryReader.Read(buffer, 0, buffer.Length)) > 0)
-            //    //        {
-            //    //            binaryWriter.Write(buffer, 0, length);
-            //    //        }
-            //    //    }
-            //    //}
-            //}
-            //return path;
+            // This is where we copy in our pre-created database
+            if (!File.Exists(path))
+            {
+                using (var inStream = Android.App.Application.Context.Assets.Open(databaseName))
+                {
+                    using (var outStream = new FileStream(path, FileMode.Create))
+                    {
+                        inStream.CopyTo(outStream);
+                    }
+                }
+                //using (var binaryReader = new BinaryReader(Android.App.Application.Context.Assets.Open(databaseName)))
+                //{
+                //    using (var binaryWriter = new BinaryWriter(new FileStream(path, FileMode.Create)))
+                //    {
+                //        byte[] buffer = new byte[2048];
+                //        int length = 0;
+                //        while ((length = binaryReader.Read(buffer, 0, buffer.Length)) > 0)
+                //        {
+                //            binaryWriter.Write(buffer, 0, length);
+                //        }
+                //    }
+                //}
+            }
+            return path;
         }
     }
 }
\ No newline at end of file
diff --git a/AideDeJeu/AideDeJeu/ViewModels/StoreViewModel.cs b/AideDeJeu/AideDeJeu/ViewModels/StoreViewModel.cs
index 33e632e2..b5e73888 100644
--- a/AideDeJeu/AideDeJeu/ViewModels/StoreViewModel.cs
+++ b/AideDeJeu/AideDeJeu/ViewModels/StoreViewModel.cs
@@ -354,6 +354,7 @@ namespace AideDeJeu.ViewModels
                             {
                                 var anchors = new Dictionary();
                                 //MakeAnchors(source, anchors, item);
+                                item.Id = $"{source}.md";
                                 _AllItems[source] = item;
                             }
                         }
@@ -365,38 +366,43 @@ namespace AideDeJeu.ViewModels
 
         public class AideDeJeuContext : DbContext
         {
+            public DbSet-  Items { get; set; }
+            public DbSet Equipments { get; set; }
             public DbSet Spells { get; set; }
             public DbSet Monsters { get; set; }
 
-            //private static bool _created = false;
-            //public AideDeJeuContext()
-            //{
-            //    if (!_created)
-            //    {
-            //        _created = true;
-            //        Database.EnsureDeleted();
-            //        Database.EnsureCreated();
-            //    }
-            //}
-
             protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
             {
                 var dbPath = DependencyService.Get().GetDatabasePath("database.db");
                 optionsBuilder.UseSqlite($"Data Source='{dbPath}'");
             }
+
+            protected override void OnModelCreating(ModelBuilder modelBuilder)
+            {
+                base.OnModelCreating(modelBuilder);
+                modelBuilder.Entity();
+                modelBuilder.Entity();
+                modelBuilder.Entity();
+                modelBuilder.Entity();
+            }
         }
 
         public async Task-  GetItemFromDataAsync(string source, string anchor)
         {
+            var id = $"{source}.md".TrimStart('/');
+            if (!string.IsNullOrEmpty(anchor))
+            {
+                id += $"#{anchor}";
+            }
             using (var context = new AideDeJeuContext())
             {
-                //var monsters = await context.Monsters.ToListAsync();
-                await context.SaveChangesAsync();
+                return await context.Items.Where(item => item.Id == id).FirstOrDefaultAsync();
             }
-            return null;
+        }
 
-
-            var id = $"{source}.md#{anchor}";
+        public async Task-  GetItemFromDataAsyncOld(string source, string anchor)
+        {
+            var id = $"{source}.md".TrimStart('/');
             //await Task.Delay(3000);
             if (!_AllItems.ContainsKey(id) && !_AllItems.ContainsKey(source))
             {
diff --git a/AideDeJeu/AideDeJeuCmd/NativeAPI.cs b/AideDeJeu/AideDeJeuCmd/NativeAPI.cs
index 7bb93fc8..153df151 100644
--- a/AideDeJeu/AideDeJeuCmd/NativeAPI.cs
+++ b/AideDeJeu/AideDeJeuCmd/NativeAPI.cs
@@ -24,7 +24,7 @@ namespace AideDeJeu.Cmd
 
         public string GetDatabasePath(string databaseName)
         {
-            return Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), databaseName);
+            return Path.Combine(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), @"..\..\..\..\..\Data\" + databaseName);
         }
     }
 }
\ No newline at end of file
diff --git a/AideDeJeu/AideDeJeuCmd/Program.cs b/AideDeJeu/AideDeJeuCmd/Program.cs
index 3c038d65..81123d54 100644
--- a/AideDeJeu/AideDeJeuCmd/Program.cs
+++ b/AideDeJeu/AideDeJeuCmd/Program.cs
@@ -297,11 +297,20 @@ namespace AideDeJeuCmd
             //var store = new StoreViewModel();
             //await store.GetItemFromDataAsync("test", "truc");
 
+            var store = new StoreViewModel();
+            await store.PreloadAllItemsAsync();
+
             using (var context = new StoreViewModel.AideDeJeuContext())
             {
                 await context.Database.EnsureDeletedAsync();
                 await context.Database.EnsureCreatedAsync();
+
+                await context.Items.AddRangeAsync(store._AllItems.Values);
+                await context.SaveChangesAsync();
+
+                var items = await context.Items.Where(item => (item.Source != null && item.Source.Contains("SRD"))).ToListAsync();
                 var monsters = await context.Monsters.ToListAsync();
+                var spells = await context.Spells.ToListAsync();
             }
 
             return;
diff --git a/Data/database.db b/Data/database.db
index 9731b320..cb3ebe16 100644
Binary files a/Data/database.db and b/Data/database.db differ