After some experimenting and trial and error with sessions & transactions, it now is able to insert new artefacts and retrieve a result set from a basic query (class QueryResult - which only retrieves artefact IDs, until artefacts are accessed, then retrieves them individually)
Created QueryResult\<\> class for server side query result storage. Basic functionality & features all appear to be working. This commit is now the basis for all future developments.
Created QueryResult\<\> class for server side query result storage. Basic functionality & features all appear to be working. This commit is now the basis for all future developments.
LINQ queries now mostly working, still need to process expression trees some more, probably both on client and server side. Test implementation of FileSystemArtefactCreator seems to work as a proof of concept but still needs some work to be even slightly efficient on large filesystem searches, and thought on how to determine when artefacts need to be updated and when not
Changes that had been on UB-D64 for some time
Commit pre re-implement ArtefactRepository, queries, etc
Reimplemented Queryable<>, etc, almost working, just doens't seem to be receiving Artefact result arrays
Almost have the basics working
Alternative approach to Queryable/QueryProvider architecture. This one not functional yet. No idea whether it will work at all, or if it will be better or worse than original approach
Tried another Expression serialization approach again, failed, again (Best success I've had so far was using my Expression_Extension methods which go Expression->ExpressionNode->Binary and vice versa - go back to that later if nothing else works)
Best success so far. Retrieves counts for both Artefacts and Drives queryables. Only crashes when I try to use a query that uses a FirstOrDefault() with a lambda expression as the argument. If I'm lucky though, this is only because when it invokes ClientQueryProvider.Execute() it tries to pass the expression using a BinaryFormatter. Try changing it to use Serialize.Linq.ExpressionNode instead, which is what ClientQueryProvider.CreateQuery() does
Progress backup while working on queryies that support lambdas, and hopefully eventually any other Expression too
Backup while working on Expressions: No Coercion operator exception when trying to get a Count for an expression with a subtype derived from Artefact
Backup while working on expressions/queries. Might be getting there
Updated a few things (not heaps) then realised I was on a different branch to what I was using at home last night
Still working on expressions/queries. Not running currently but I think I have a good idea of how I need to organise it and some reduction/merging/rationalizing of classes
Few more updates, queries/expressions almost kind of working, some issues sitll. GOing to make this branch home of what will (hopefully) soon be the default, working, implementation of the service
Almost there. All Test methods succeed except FSCreator, which fails when selecting from _fsCreator.Drives where Uri.StartsWIth(dr.Label) or whatever it is - with a KnownType exception for type Drive. What's the deal here?
Merge branch 'PrimaryDev' of https://github.com/jbowwww/ArtefactService into Working

Conflicts:
	ArtefactService.userprefs
	ArtefactService/ArtefactService.csproj
	ArtefactService/ClientQueryProvider.cs
	ArtefactService/ClientQueryVisitor.cs
	ArtefactService/IRepository.cs
	ArtefactService/Queryable.cs
	ArtefactService/Repository.cs
	ArtefactService/RepositoryClientProxy.cs
	Artefacts/Artefacts/Artefact.cs
	bin/Debug/ArtefactClientTest.exe
	bin/Debug/ArtefactClientTest.exe.mdb
	bin/Debug/ArtefactFileSystem.dll
	bin/Debug/ArtefactFileSystem.dll.mdb
	bin/Debug/ArtefactService.dll
	bin/Debug/ArtefactService.dll.mdb
	bin/Debug/ArtefactServiceHost.dll
	bin/Debug/ArtefactServiceHost.dll.mdb
	bin/Debug/Artefacts.dll
	bin/Debug/Artefacts.dll.mdb
Revert "Merge branch 'PrimaryDev' of https://github.com/jbowwww/ArtefactService into Working"

This reverts commit d8fe765abb583be0625f91a46fbbb8864c62535b, reversing
changes made to 3e9e8c687675170fe25b32a45e871657bee81fab.