2013-07-18 2 views
1

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, Func 2 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()'.

Répondre

2

Cela ressemble à vous utilisez différentes versions d'assemblages. Vous devez probablement recompiler le pilote LinqPad avec la dernière version de RavenDB.

+0

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. –

+0

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. –

+1

@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? –

Questions connexes