Skip to content
This repository has been archived by the owner on Aug 1, 2024. It is now read-only.

Table Query LINQ is not supported in .NET Core. #491

Closed
takekazuomi opened this issue Jul 7, 2017 · 15 comments
Closed

Table Query LINQ is not supported in .NET Core. #491

takekazuomi opened this issue Jul 7, 2017 · 15 comments

Comments

@takekazuomi
Copy link

Current TableQuery Provider is not included if NETCORE is defined.
https://github.com/Azure/azure-storage-net/blob/dev/Lib/Common/Table/TableQueryProvider.cs#L18

Do you have any technical problem. Or some human resource limitation?

Usualy I use TableQuery Provider. It more simple and clear than TableQuery ways.

In Premium Storage (preview), We can use secondary index. It means we will be use more complex where clause.

I recommend to support TableQuery Provider in NETCORE as well.

This is not bugs. future request.

@erezvani1529
Copy link
Contributor

Thanks @takekazuomi ,

We are in the process of preparing a preview package targeting Netstandard2.0 which will have the missing features in our NetCore support (caused by limitations in earlier versions of Netstandard/Netcore). We have hit some blockers in the process as discussed in #333 but the work is in progress.

Will use this issue to track this feature request (closing #265 as duplicate).

Thanks,
Elham

@juliekoubova
Copy link

Hello, any ETA on this, please?

@vdecristofaro
Copy link

Hello, any update on this?

@MisinformedDNA
Copy link

Looking for an update. Anything?

@robdmoore
Copy link

@erezvani1529 Any update on this one?

@maurik77
Copy link

maurik77 commented Jun 7, 2018

Any news or forecast?

@guitarrapc
Copy link

Any update?

@ginomessmer
Copy link

+1. Any updates?

@michaelkruglos
Copy link

What is the status of this issue? Can we count on it being implemented in the future?

@ManfredLange
Copy link

ManfredLange commented Jan 5, 2019

In July 2017 @erezvani1529 wrote that they are working on this for target netstandard2.0.

Now it's 2019 and still this issue is open ......

Perhaps whoever is working on this code base should now make a call whether there is any genuine interest in making this happening. Why is it so hard to get the LINQ support ported to netstandard2.0?

Generally, it looks as if this whole transitioning of platforms, features, and nuget packages for Azure Table storage has been completely stuffed up. NuGet package "WindowsAzure.Storage" in version 9.3.3 still has some support for Table storage but it lacks LINQ and everything is now async (required quite some rewriting).

The successors for WindowsAzure.Storage are Microsoft.Azure.Stroge.* where the * can be Blob, Queue, or File, but not File. Version number for each of them is 9.4.x as of writing. Apparently Table has been moved to the packages for CosmosDB clients which are currently in preview. I saw some a comment (on SO?) that it doesn't yet support Azure Table Storage but only tables in CosmosDB, even though the client API (from .NET's perspective, e.g. C#) are identical. A version (prerelease, beta, etc) that also supports Azure Table Storage as well is planned for January 2019.

It looks very much so that support for Azure Table storage was dropped from WindowsAzure.Storage before it became available in package "Microsoft.Azure.Cosmos.Table" (v0.10.0-preview as of writing). So a person who wants to target netstandard2.0 is pretty much stuffed....

Note: There is also a package named "Microsoft.Azure.CosmosDB.Table". However, that package only support the full .NET framework, version 4.5 as of writing.

I've done a lot of work with AWS recently, too. And while their API is about the same, the client side libraries are easier to use and more consistent at the moment. I cannot remember that I've been on the hunt for functionality that has been moved between packages, renamed, dropped, changed, etc to the degree that I have been doing this recently around Azure Storage. Extremely frustrating and more so, very time consuming.

@JKennedy24
Copy link

are there any alternative ways to writing a table query for .netstandard 2.0?

I currently have:

TableQuery<DynamicTableEntity> projectionQuery = new TableQuery<DynamicTableEntity>().Select(new string[] { "DocumentName" }).Where(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, cc));
var res = await table.ExecuteQuerySegmentedAsync<DynamicTableEntity>(projectionQuery, null);

which is returning a strange error:

Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
sr is mandatory. Cannot be empty

Which i presume is down to TableQuery not being supported

@seanmcc-msft
Copy link
Member

Table support has moved to the CosmosDB NuGet package. Please follow up there.

https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Table

@takekazuomi
Copy link
Author

@seanmcc-msft
This Issue is about Table Storage.
Cosmos DB and Storage are quite different prices and performance characteristics. It is not the same thing.

Will table storage be abolished in the future? Otherwise, please do not CLOSE.

@MisinformedDNA
Copy link

Table Storage and Cosmos DB share the same API. The story I've been told is that Cosmos DB can simply be treated as premium Table Storage. But it's certainly a confusing story. If you look at the documentation for Azure Storage, they don't even talk about tables, which makes one worry...

@Voodu
Copy link

Voodu commented Aug 16, 2019

According to https://azure.microsoft.com/pl-pl/resources/samples/azure-cosmos-db-table-dotnet-getting-started/

Azure Cosmos DB Table API SDK from Nuget, this is now the official SDK both for Azure Cosmos DB Table API as well as for Azure Table storage

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests