剛剛掌握了RavenDB - 這真棒 - 但我有點卡住一個查詢。我運行一個foreach並使用Store()方法來保存一些數據,一旦完成使用SaveChanges()方法。一旦我存儲了這些信息,我需要引用這些信息來存儲一些額外的信息(如果你稍微有些困惑,代碼將會使它變得清晰!),但是當我引用信息時沒有信息被發現。RavenDB查詢商店
所以,首先我想補充一些數據:
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();
不要忘記調用Session.SaveChanges()將存儲提交到數據庫。 – 2012-03-14 14:49:19
是的,抱歉,我沒有把它放在上面的例子中 - 在foreach循環之後,我做了Session.SaveChanges(); – Matt 2012-03-14 14:53:23