Closed MSRiganti closed 2 years ago
As stated in the other thread, for this to work on .NET Core requires support from SqlClient, which is tracked by https://github.com/dotnet/corefx/issues/18276
This issue will track support in EF Core. It may already work, with limitations, when running on .NET Framework. We should discuss in triage.
Hi, my first destination was the correct one. This issue have to be in dotnet/corefx. Please read dotnet/corefx#22324, there is an explanation.
If someone needs to reopen this one, so it doesn't bother me. ;-)
As I said above, we are using this issue to track work in EF.
OK, sorry for closing issue. :-)
We will use this issue to track investigation work @maumar will be doing during 2.1. The initial goals of this investigation are:
Any updates on this?
The latest information we have on this is that always-encrypted should work fine with EF Core as long as:
Encryption has issues with ordering, and EF Core needs to do ordering on keys for things like Include to work correctly, which is the main reason for the first restriction.
The second point comes from the lack of implicit conversions for encrypted columns, which means that EF really needs to know the exact types for the SQL generated. The easiest way to do this is to use [Column]
or HasColumnType
to specify the SQL Server types.
And reveng explicitly defines all column types?
@ErikEJ End-to-end work for always encrypted is tracked by #3380, which is not in the plan for 2.1.
At our organization we have a mix of EF6 and EF Core microservices. We are trying to figure out our column encryption strategy. For EF6 SQL Always Encrypted works like a charm. For EF Core I don't see a clear path. I see they added support to convert data types, and interesting enough the documentation specifically says:
(for example, encrypting strings)
To me that's a strong indicator that BYOE (Bring Your Own Encryption) is the way to go in EF Core, at least for now. Is there an official milestone/timeline for SQL Always Encrypted in EF Core?
@omora-RA What specific issues are you seeing with EF Core?
@ajcvickers I am trying to use SQL Always Encrypted with EF Core. I just tried the latest EF Core 2.1.0-preview1-final. If I add "Column Encryption Setting=enabled" to the connection string It throws an error:
Keyword not supported: 'column encryption setting'.
I have the same error:
Keyword not supported: 'column encryption setting'.
.NET Core SqlClient does not support Always Encrypted, you must use .NET Framework 4.6.1 or later
@erikEJ I think people are confused with the previous update from @ajcvickers. It could give the feeling that there was a partial support when reading quickly.
What is not clear for someone reading is that EF core is not tied to dotnet core. And that in that case he was meaning EF Core running on the full framework.
Sad to seee support for that very useful feature (given GDPR and Australia privacy act) on dotnet core delayed to who knows when. Switching to the old windows only framework is not an option for us.
@sandorfr Read the comments here: https://github.com/aspnet/EntityFrameworkCore/issues/9193#issuecomment-320755801
I’m well aware of this 8 month old comment ;). I’m just stating why people are confused, and reaffirming the importance of that feature on dotnet core for us in the current context.
I understand that there’s al lot of other important work on SQL client and prioritizarion had to happen. I just hope we could see it coming in the next release after 2.1. Not in two years.
Our .netcore code is deployed on Linux Docker containers so .net 4.6.1 is not an option. Since EF Core 2.1 provides the hooks to convert data types I could bring my own encryption. It would be great if there was some guidance on how to tackle this.
Sorry I wasn't clear that I was referring specifically to EF Core rather than the more general support for always encrypted in .NET Core.
Does anyone have a timeline for if this will be implemented? We have an extensive project on EF Core and have to scale back for this. Scaling back is an option but not a preferable one.
@daveabrock Implemented in what sense? Do you mean when will always encrypted be available on .NET Core? If so, that is tracked here: https://github.com/dotnet/corefx/issues/22324
Closing in favor of #3380, since it covers more than this.
Hi,
please read this EU regulation GDPR.
We will need functional support for SQL Always Encrypted before 25. may 2018.
When it will be implemented in EFCore? (Please, give it priority. It will be before 25 may 2018?)
Thanks