Cela fait quelques mois que j'ai utilisé RavenDB et LinqPad ensemble. Maintenant que je suis en train à nouveau, je reçois une erreur lorsque vous faites quelque chose comme ceci:Les requêtes RavenDB ne fonctionnent plus dans LinqPad
Session.Query<Application>().Select(x => new { x.Name, x.Id}).OrderBy(x => x.Name).Dump();
Erreur:
The name 'Session' does not exist in the current context
Après avoir abandonné à ce sujet, j'ai essayé de créer mon propre programme LinqPad. Tout d'abord, je reçois toujours cette erreur, peu importe ce que le code ressemble:
Method not found: 'System.DateTime Raven.Abstractions.SystemTime.get_Now()'.
C'est la trace de la pile fournie par LINQPad:
StackTrace at Raven.Client.Connection.Profiling.ProfilingInformation..ctor(Nullable
1 sessionId) at Raven.Client.Connection.Profiling.ProfilingInformation.CreateProfilingInformation(Nullable
1 sessionId) in c:\Work\RavenDB\Raven.Client.Lightweight\Connection\Profiling\ProfilingInformation.cs:line 25 at Raven.Client.Connection.ServerClient..ctor(String url, DocumentConvention convention, ICredentials credentials, Func2 replicationInformerGetter, String databaseName, HttpJsonRequestFactory jsonRequestFactory, Nullable
1 currentSessionId) in c:\Work\RavenDB\Raven.Client.Lightweight\Connection\ServerClient.cs:line 68 at Raven.Client.Document.DocumentStore.b__e() in c:\Work\RavenDB\Raven.Client.Lightweight\Document\DocumentStore.cs:line 515 at Raven.Client.Document.DocumentStore.Initialize() in c:\Work\RavenDB\Raven.Client.Lightweight\Document\DocumentStore.cs:line 383 at RavenLinqpadDriver.RavenContext.InitDocStore(RavenConnectionDialogViewModel conn) in Z:\code\RavenDB-Linqpad-Driver\RavenLinqpadDriver\RavenContext.cs:line 107 at RavenLinqpadDriver.RavenContext..ctor(RavenConnectionDialogViewModel connInfo) in Z:\code\RavenDB-Linqpad-Driver\RavenLinqpadDriver\RavenContext.cs:line 36 at UserQuery..ctor(RavenConnectionDialogViewModel connInfo) in c:\Users\xxxxxxxx\AppData\Local\Temp\LINQPad\afgmvhfj\query_vmnmpg.cs:line 31
Et ceci est le code:
void Main()
{
var theGroup = new AdGroupEnvironments() {Name = "snuh", ModifyableEnvironments = "development,QA"};
using(var documentStore = new Raven.Client.Document.DocumentStore())
{
documentStore.Url = "http://localhost:8099";
documentStore.Initialize();
using(var session = documentStore.OpenSession())
{
session.Store(theGroup);
session.SaveChanges();
}
}
}
public class AdGroupEnvironments
{
public string Name { get; set; }
public string ModifyableEnvironments { get; set; }
}
Une idée de ce qui me manque?
Modifier
par this link, propriétés Session et DocStore n'existent plus. J'ai donc essayé ceci:
Query<Application>().Select(x => new { x.Name, x.Id}).OrderBy(x => x.Name).Dump();
Et maintenant, je suis de retour à cette exception:
Method not found: 'System.DateTime Raven.Abstractions.SystemTime.get_Now()'.
Ceci est ma supposition quant à ce que vous voulez dire: Obtenez la source du pilote d'ici: https://github.com/ronnieoverby/RavenDB-Linqpad-Driver. Puis remplacez les assemblys Raven par les versions que j'utilise. Puis compilez-le et utilisez-le avec LinqPad. –
Ayende a raison. Je suis tombé en arrière sur la mise à jour du pilote avec la version actuelle de Raven. Il est à jour maintenant (build 2700) et j'ai bien l'intention :) de le tenir à jour. –
@RonnieOverby Je viens d'essayer le dernier pilote et je reçois cette exception: 'Method 'Store' dans le type 'RavenLinqpadDriver.RavenContext' de l'assemblage 'RavenLinqpadDriver, Version = 0.5.2750.0, Culture = neutre, PublicKeyToken = aaac23b83559e37f' ne avoir une implémentation. »Des idées? –