RavenDB-Linqpad-Driver icon indicating copy to clipboard operation
RavenDB-Linqpad-Driver copied to clipboard

Interest in the 4.0 client?

Open ronnieoverby opened this issue 6 years ago • 19 comments

I see that the 4.0+ server is not backwards compatible with 3.x clients. Is anyone interested in a version of the linqpad driver that can speak with 4.x servers?

I see that the 3.5.4 client on nuget has critical mass in a way that newer clients do not.

If anyone is interested, please speak up.

Thanks!

ronnieoverby avatar Mar 20 '18 12:03 ronnieoverby

We won't be upgrading for at least a 4 or 5 months but I am definitely interested in a 4.x client.

kentcooper avatar Mar 20 '18 13:03 kentcooper

I am interested

hugob123 avatar May 19 '18 10:05 hugob123

Yes, please!

technoideas avatar Jun 26 '18 14:06 technoideas

That would be great, thank you

ChimaOsuji avatar Jul 10 '18 15:07 ChimaOsuji

Okay mah dudes. I'll probably do this soonish.

ronnieoverby avatar Aug 09 '18 21:08 ronnieoverby

It will be much appreciated!!! Cheers, mate!

ghost avatar Aug 09 '18 21:08 ghost

Just found out that the driver in linqpad isnt compatible with 4.0, and thus found this thread. Will be much appreciated.

Perhaps add a note on the repo, in slightly larger text , about the version issues? ;)

kimswe avatar Nov 11 '18 12:11 kimswe

Perhaps add a note on the repo, in slightly larger text , about the version issues? ;)

Done.

ronnieoverby avatar Nov 15 '18 14:11 ronnieoverby

absolutely

sadeghhp avatar Nov 17 '18 12:11 sadeghhp

Like @kimswe, I couldn't get this particular driver to work with LinqPad. Would love to have it work in the 4.0 client.

Abrahamlet avatar Mar 05 '19 11:03 Abrahamlet

I can get a PR ready if still interested @ronnieoverby . Thanks

yj7o5 avatar Oct 15 '20 14:10 yj7o5

Yes, I am still interested Thanks.

Hugo

Op do 15 okt. 2020 om 16:25 schreef Yawar Jamal [email protected]:

I can get a PR ready if still interested @ronnieoverby https://github.com/ronnieoverby . Thanks

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ronnieoverby/RavenDB-Linqpad-Driver/issues/24#issuecomment-709361829, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAYB46KIRGSEUW5XTMNHMVLSK4A6FANCNFSM4EWHIJ3Q .

hugob123 avatar Oct 15 '20 17:10 hugob123

Ok, will get a PR ready.

yj7o5 avatar Oct 16 '20 03:10 yj7o5

Any progress on an updated driver?, just starting to work with 5.1, linqpad support would be super helpful

innermark avatar Feb 09 '21 16:02 innermark

@innermark what version of linqpad do you have and did you pay for it? There are techniques in linqpad6 that will help you get the same feeling of a driver without a real driver. If you have paid for linqpad you get auto completion, making things much nicer.

Linqpad now has #load directives for pulling in other scripts. You could define your connection/store/session for specific environments and load that script in to any other script. I do this a lot for data sources that don't have a linqpad driver (salesforce, redshift, etc.) and it works great.

This driver never had the feature of generating types per document type, anyway...

I'll try to share some examples later today.

ronnieoverby avatar Feb 17 '21 16:02 ronnieoverby

@ronnieoverby I'm using version 6, I don't have a current paid license but will get one if I can get this working, Its been a few years since I've worked with LINQPad so I was not aware of the #load functionality, if you had a working example that would be great. thanks

innermark avatar Feb 17 '21 22:02 innermark

Sorry, I had started working on this here(https://github.com/yj7o5/RavenDB-Linqpad-Driver/commits/raven-40) but got busy with work and school and couldn't get the chance back to revisit this. Since 4.x/5.x breaking change it just requires a lot of moving parts and pieces. Plus LP6 also simplifies some bits and that will cleanup a few bits as well. Hopefully will try to get back on this and get it working with 5.x. My plans to implement the DynamicDataContextDriver by utilizing the stats the RavenDb provides meaning reading the data collections and dynamical creating CLR classes so as to provide the typed class interface as well. Similar to how others such Linq2Sql driver provides.

Aside from that, you can also just directly download the nuget Raven client and reference any of your local dlls and then just simply do the following:

using(var store = new DocumentStore());
using(var session = store.OpenSession();

session.Load<MyReferencedDllInThisLinqPadScript.Animal>("dogs/1");

and for re-usability sake I just put that into my MyExtensions.cs class and then simply reference:

using(var xyzProdStore = MyExtensions.OpenMyXyzProdDatabaseStore())
using(var session = xyzProdStore.OpenSession())
{
     // don't break stuff
}
or 
using(var abcTestStore = MyExtensions.OpenMyAbcTestDatabaseStore())
using(var session = abcTestStore.OpenSession())
{
     // break as many stuff
}

yj7o5 avatar Feb 23 '21 02:02 yj7o5

@innermark @yj7o5

Here's an example of the workaround I described. I think this should be a pretty good solution for most people.

https://github.com/ronnieoverby/RavenDB-Linqpad-Driver/tree/linqpad_6_example_connection_loading

ronnieoverby avatar Feb 27 '21 21:02 ronnieoverby

Thanks @ronnieoverby this looks super helpful, I'll give it a try.

innermark avatar Mar 01 '21 17:03 innermark