Магазин запросов RavenDB - PullRequest
       4

Магазин запросов RavenDB

1 голос
/ 14 марта 2012

Только что справился с RavenDB - что удивительно - однако я немного застрял с запросом. Я запустил foreach и использовал метод Store (), чтобы сохранить некоторые данные, и однажды завершил, используя метод SaveChanges ().

После того, как я сохранил эту информацию, мне нужно сослаться на эту информацию, чтобы сохранить некоторую дополнительную информацию (не беспокойтесь, если вы слегка запутались в этом месте, код прояснит это!), Но когда я ссылаюсь на информацию, нет информация для поиска.

Итак, прежде всего я добавлю некоторые данные:

foreach (var development in developments)
            {
                Console.WriteLine(" - Working on Developmnent ID: " + development.devID);
                Session.Store(new Domain.Development
                                  {
                                      Id = "D" + Convert.ToString(development.devID),
                                      Name = development.devName,
                                      Street = development.devStreet,
                                      Town = development.devTown,
                                      County = development.devCounty,
                                      Postcode = development.devPostcode,
                                      Country = development.devCounty,
                                      Description = "",
                                      Longitude = GeoData.Longitude(development.devPostcode),
                                      Latitude = GeoData.Latitude(development.devPostcode)
                                  });

            }

Теперь, из-за ограничений количества запросов, которые могут быть выполнены в течение сеанса, я извлекаю весь набор данных и сохраняю в памяти:

var developmentList = from d in Session.Query<Domain.Development>()
                      select d;

Теперь, когда я добавляю точку останова в конце этого, данные не будут найдены. Нужно ли создавать еще один сеанс для получения этих данных?

Я тоже пробовал

var developmentList = Session.Query<Domain.Development>();

Вот код, где я тоже создаю сессию:

internal static DocumentStore Store;
internal static IDocumentSession Session { get; set; }

internal <<Constructor>> ...
Store = new DocumentStore { ConnectionStringName = "RavenDB" };
Store.Initialize();

IndexCreation.CreateIndexes(Assembly.GetCallingAssembly(), Store);

Session = Store.OpenSession();

Ответы [ 2 ]

1 голос
/ 15 марта 2012

Если вы только что сохранили эти значения, зачем вам сохранять их в базе данных и заново загружать из базы данных? Просто используйте коллекцию в памяти, и это будет все.

1 голос
/ 15 марта 2012

Не рекомендуется делать это. Возвращается к безопасной по умолчанию концепции RavenDB.

...