首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >嵌入式RavenDB的“无法找到事务性存储类型”错误

嵌入式RavenDB的“无法找到事务性存储类型”错误
EN

Stack Overflow用户
提问于 2018-04-26 07:45:44
回答 2查看 0关注 0票数 0

我能够基于以下代码成功运行RavenDB的简单测试:http ://ravendb.net/tutorials/hello-world

接下来我尝试以嵌入方式运行它,但我一直在收到以下错误:

Message: Could not find transactional storage type: Raven.Storage.Esent.TransactionalStorage, Raven.Storage.Esent  
StackTrace:    at Raven.Database.Config.InMemoryRavenConfiguration.CreateTransactionalStorage(Action notifyAboutWork) in c:\Builds\raven\Raven.Database\Config\InMemoryRavenConfiguration.cs:line 272
   at Raven.Database.DocumentDatabase..ctor(InMemoryRavenConfiguration configuration) in c:\Builds\raven\Raven.Database\DocumentDatabase.cs:line 109
   at Raven.Client.Client.EmbeddableDocumentStore.InitializeInternal() in c:\Builds\raven\Raven.Client.Embedded\EmbeddableDocumentStore.cs:line 130
   at Raven.Client.Document.DocumentStore.Initialize() in c:\Builds\raven\Raven.Client.Lightweight\Document\DocumentStore.cs:line 388
   at Tests.RavenEmbedded.RavenDB..ctor() in C:\Users\Pranav\Documents\Projects\Repositories-Clone\Common-clone\Tests\RavenDB.cs:line 114
   at Tests.TestRavenDB.Basics() in C:\Users\Pranav\Documents\Projects\Repositories-Clone\Common-clone\Tests\RavenDB.cs:line 170 

目标框架是.NET Framework 4

我将以下参考添加到我的项目中:

  1. \ RavenDB - 建造 - 309 \ EmbeddedClient \ Raven.Client.Embedded.dll
  2. \ RavenDB - 建造 - 309 \客户端\ Raven.Client.Lightweight.dll
  3. \ RavenDB - 建造 - 309 \ EmbeddedClient \ Raven.Storage.Esent.dll
  4. \ RavenDB - 建造 - 309 \ EmbeddedClient \ Raven.Storage.Managed.dll

代码是:

namespace Tests.RavenEmbedded
{
    using Raven.Client.Client;
    using Raven.Client.Document;
    using Raven.Storage.Esent;
    using Raven.Storage.Managed;
    using Tests.RavenData;

    class RavenDB
    {
        public RavenDB()
        {
            // EmbeddableDocumentStore store = new EmbeddableDocumentStore { DataDirectory = @"C:\Temp\RavenData" };
            //Raven.Storage.Esent.TransactionalStorage
            var store = new EmbeddableDocumentStore  { DataDirectory = @"C:\Temp\RavenData" };
            store.Initialize();

            #region Write Data
            using (var session = store.OpenSession())
            {
                var product = new Product
                {
                    Cost = 3.99m,
                    Name = "Milk",
                };
                session.Store(product);
                session.SaveChanges();

                session.Store(new Order
                {
                    Customer = "customers/ayende",
                    OrderLines =
                      {
                          new OrderLine
                          {
                              ProductId = product.Id,
                              Quantity = 3
                          },
                      }
                });
                session.SaveChanges();
            }
            #endregion

            #region Read Data
            using (var session = store.OpenSession())
            {
                var order = session.Load("orders/1");
                Debug.Print("Customer: {0}", order.Customer);
                foreach (var orderLine in order.OrderLines)
                {
                    Debug.Print("Product: {0} x {1}", orderLine.ProductId, orderLine.Quantity);
                }
                session.SaveChanges();
            }

            #endregion

        }
    }
}

namespace Tests
{
    public class TestRavenDB
    {
        public static void Basics()
        {
            try
            {
                //var db = new RavenClientServer.RavenDB();
                var db = new RavenEmbedded.RavenDB();
            }
            catch (Exception ex)
            {

                Debug.Print("Message: {0} ",ex.Message);
                Debug.Print("StackTrace: {0} ",ex.StackTrace);

            }
        }

    }
}
EN

回答 2

Stack Overflow用户

发布于 2018-04-26 15:47:35

解决方案是在主项目中添加“Raven.Storage.Esent”引用。这是Visual Studio和间接引用的问题。

票数 0
EN

Stack Overflow用户

发布于 2018-04-26 17:05:14

需要添加对Raven.Storage.Esent.dll的引用

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100008271

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档