Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discussion for Entity Framework weekly status updates #15404

Closed
ajcvickers opened this issue Apr 18, 2019 · 42 comments
Closed

Discussion for Entity Framework weekly status updates #15404

ajcvickers opened this issue Apr 18, 2019 · 42 comments
Labels
closed-no-further-action The issue is closed and no further action is planned. type-unknown
Milestone

Comments

@ajcvickers
Copy link
Member

ajcvickers commented Apr 18, 2019

Use this issue to make comments, ask questions, etc. about weekly updates posted in:

@davidroth
Copy link
Contributor

I have some questions regarding the new query pipeline.

  • Will there still be relinq or did you completely remove relinq from the pipeline?
  • There is this impressive "one-man-show"-project called Impatient
    I know that you are aware of this project. Did you consider integrating / adapting his great work? If not, what were the reasons for a complete rewrite without integrating his code / working with him on this?

@ajcvickers
Copy link
Member Author

@davidroth

  • It will be completely removed
  • Yes, we have talked to @tuespetre and looked at Impatient. It was one of the factors in making the decision to change. While we are not using Derek's code directly, we have reached out to him about contributing to the overhaul and beyond. I know he has other commitments currently, but we are hoping to work with Derek again in the future.

@KexyBiscuit
Copy link

EF Core now targets .NET Standard 2.1

Does that mean EF Core won't be usable for UWP? (I may be the few who uses EF Core on UWP :-P)

@ajcvickers
Copy link
Member Author

@KexyBiscuit That depends on whether UWP will support .NET Standard 2.1, which is unfortunately a question that I am not able to answer.

@bricelam
Copy link
Contributor

bricelam commented Jun 12, 2019

@KexyBiscuit It looks like you already asked a similar question. If UWP and .NET Core 3 converge as Charles claims, and .NET Core 3 implements .NET Standard 2.1, then...

@KexyBiscuit
Copy link

KexyBiscuit commented Jun 13, 2019

@bricelam Yes, I did ask "will it", and now I'd like to know "when", though I know these schedules are likely confidential. In fact, I didn't expect that EF Core will target .NET Standard 2.1 this early. 😢 Maybe I have to go back to 2.2...

@mbp
Copy link

mbp commented Nov 20, 2019

I would like to ask if #18831 could go into 3.1. It's a critical issue for us. There is no workaround, and the fix seems trivial to add to 3.1, and maybe even 3.0 as well.

@ajcvickers
Copy link
Member Author

@mbp In addition to the workaround posted on the issue we will discuss whether to patch this in a 3.1.x release.

@lara-ec
Copy link

lara-ec commented Jan 22, 2020

What is your policy of releasing bugfixes merged to master in a 3.1.x release? Specifically #19514, because I would really like to avoid using a nightly build in production.

@ajcvickers
Copy link
Member Author

@lara-ec We make a decision on whether to patch for a given issue based primarily on:

  • What is the impact of the issue on customers? (For example, how bad is the failure; how many customers are hitting it.)
  • What workarounds are available and how easy they are to use.
  • The risk of accidentally breaking something else in the patch by fixing this.

@JonPSmith
Copy link

Hi, could you consider adding issue #7829 to the 5.0 release. Thanks.

@tuespetre
Copy link
Contributor

very excited to see many-many was underway 🥳

@ajcvickers
Copy link
Member Author

@JonPSmith Happy to consider it--what's the specific value that this issue brings that means it should bump other things in 5.0?

@JonPSmith
Copy link

JonPSmith commented Jan 24, 2020

Hi @ajcvickers,

I am not saying it is a high priority, but if it can be done it can help with database validation. Obviously it depends on how difficult it is, which I cannot judge.

My reason for asking for this features is because I consider catching non-unique values something I should do in the database (doing outside has some difficulties). I have code that captures a DbUpdateException exception and if it is a unique database exception I pass it to the code below to return a user-friendly error message from a SQL Server 2601 or 2627 error.

private static readonly Regex UniqueConstraintRegex =
    new Regex("'UniqueError_([a-zA-Z0-9]*)_([a-zA-Z0-9]*)'", RegexOptions.Compiled);
 
public static ValidationResult UniqueErrorFormatter(SqlException ex, 
     IReadOnlyList<EntityEntry> entitiesNotSaved)
{
    var message = ex.Errors[0].Message;
    var matches = UniqueConstraintRegex.Matches(message);
 
    if (matches.Count == 0)
        return null;
 
    var entityDisplayName = entitiesNotSaved.Count == 1
        ? entitiesNotSaved.Single().Entity.GetType().GetNameForClass()
        : matches[0].Groups[1].Value;
 
    var returnError = "Cannot have a duplicate " +
                      matches[0].Groups[2].Value + " in " +
                      entityDisplayName + ".";
 
    var openingBadValue = message.IndexOf("(");
    if (openingBadValue > 0)
    {
        var dupPart = message.Substring(openingBadValue + 1,
            message.Length - openingBadValue - 3);
        returnError += $" Duplicate value was '{dupPart}'.";
    }
 
    return new ValidationResult(returnError, new[] {matches[0].Groups[2].Value});
}

This works but it is a) different for each database type, and b) is fragile as the message may change. If it was possible to get the entity that caused this then it makes building the user-friendly error message easier.

@JonPSmith
Copy link

Hi,

I wondered if you were look at Cosmos DB. There is one feature, #16146 (Support aggregate operators), which I think developers would find odd not to have. Is this worth considering in EF Core 5?

@ErikEJ
Copy link
Contributor

ErikEJ commented Feb 8, 2020

@JonPSmith you are aware that the 3.1 Cosmos provider has 9000 downloads, compared to 1 million downloads of the 3.1 SQL Server provider?

@JonPSmith
Copy link

Wow, I didn't know that. I take back my Cosmos DB suggestion as its not worth the effort for that many users.

Personally I like the Cosmos DB support, but I haven't used it in a client system yet, but if I need great read scalability then I would consider it (see my article on this).

It would be interesting to see how many people are using Cosmos DB generally. I was talking to a team at NDC London that had implemented a CQRS architecture with EF Core SQL Server for the write side and and Cosmos DB for the read side. They built this before EF Core 3 and accessed Cosmos DB directly. There only comment was that Cosmos was still quite pricey, even with the new Autopilot system.

@ajcvickers
Copy link
Member Author

@JonPSmith @ErikEJ With the Cosmos provider we're in a bit of a holding pattern right now. We got to a point with 3.1 where we think there is enough for people to try it. We're now very interested hear from people what issues they run into and what additional functionality they need. (Your feedback has been great, @JonPSmith!)

It's not a surprise that the usage numbers are low right now compared to SQL Server. The important thing is how they trend and how they track relative to total Cosmos usage. (Counting these things is hard, btw. NuGet package downloads are very crude and often misleading.) Also, highly engaged customers who are blazing the way are more important for getting feedback than the total number of people, some of which will be just kicking the wheels.

A very positive sign is that we've been getting community PRs fixing and adding things to Cosmos--for example, '_etag' support last week.

So there isn't much specific to Cosmos in the 5.0 plan, but that doesn't mean it will stay like that post 5.0.

@asyncoder
Copy link

@ajcvickers any idea when EF Core 3.1.4 will be shipped? Looking forward to this issue #19616 to be fixed as it holds many of us upgrading to .NET Core 3.x

@ajcvickers
Copy link
Member Author

@asyncoder 3.1.4 is tentatively scheduled for May. I know that's a long time out, but there are other inputs to this release across .NET that require it to be pushed out. The 5.0 daily builds already contain these fixes, which might be an options for you. We build and test the daily builds with .NET Core 3.1.

@divega
Copy link
Contributor

divega commented May 23, 2020

Hi team! Great progress in EF Core 5.0! Congrats!

FYI these three bullet points are duplicated at the en of the EF Core 5.0 list of improvements:

  • Use a C# attribute to specify a property backing field
  • Complete discriminator mapping
  • Performance improvements in Microsoft.Data.Sqlite

@ajcvickers
Copy link
Member Author

Thanks @divega! Looks like @smitpatel fixed it. :-)

@smitpatel
Copy link
Contributor

Split include is still in-progress? I thought you guys finished it. 👀

@ajcvickers
Copy link
Member Author

@smitpatel Fixed.

@DanielBlazevic
Copy link

Hi,

I noticed that latest biweekly status update has same typo in first 5 links:
https://docs.microsoft.comef/core/what-is-new/ef-core-7.0/whatsnew#json-columns

It should be:
https://docs.microsoft.com/ef/core/what-is-new/ef-core-7.0/whatsnew#json-columns

@ErikEJ

This comment was marked as resolved.

@roji

This comment was marked as resolved.

@ErikEJ

This comment was marked as resolved.

@roji

This comment was marked as resolved.

@ErikEJ
Copy link
Contributor

ErikEJ commented Jan 31, 2023

This fix for 7.0.3 appears to be missing (or not labelled for 7.0.3 at least) #29731 from the latest entry

@ajcvickers
Copy link
Member Author

@ErikEJ It's in the Jan 5 update: #29989 (comment)

@Varorbc
Copy link
Contributor

Varorbc commented Feb 3, 2023

@ajcvickers .NET Data Community Standups can not only on YouTube, but also on Github? Because of regional restrictions, we have difficulty accessing YouTube

@ajcvickers
Copy link
Member Author

@Varorbc Does GitHub have support for streaming videos?

The videos are also available on Twitch.

@Varorbc
Copy link
Contributor

Varorbc commented Feb 4, 2023

@ajcvickers I mean use text instead of video

@ajcvickers
Copy link
Member Author

@Varorbc No, we're not going to do that.

@vslee
Copy link

vslee commented Feb 24, 2023

I think Twitch is also blocked inside China (at least that's what some sites say when I did a quick search). But I think GitHub is too, so 🤷

@ErikEJ
Copy link
Contributor

ErikEJ commented Mar 3, 2023

It is the "Dynamics 365" Microsoft product- just FYI

@GerardSmit
Copy link

It seems "Woodstar" is still in-progress but is sadly nowhere to be found.
In dotnet/datalab there is a branch called smit/woodstar but the last commit is from 2 years ago.

We asked in datalab for progress about Woodstar (dotnet/datalab#19), where we would get an update in a few weeks from roji; but I think they're busy since it's now 4 months later 😄 (as a developer, I know how these things go 😉).

Maybe there is someone else on the team that can update us about the state of Woodstar? Thanks!

@roji
Copy link
Member

roji commented Jul 17, 2023

@GerardSmit see #15404 (comment).

@Varorbc
Copy link
Contributor

Varorbc commented Aug 22, 2023

No updates? team hasn't updated its biweekly status in a while.

@roji
Copy link
Member

roji commented Aug 23, 2023

@Varorbc and others, we've been heads down working on the rc1 version, and are now concentrating on stabilization. We should be back to a more normal workload soon, allowing us to post these updates etc.

@ajcvickers ajcvickers added closed-no-further-action The issue is closed and no further action is planned. type-unknown labels May 15, 2024
@ajcvickers ajcvickers closed this as not planned Won't fix, can't repro, duplicate, stale May 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
closed-no-further-action The issue is closed and no further action is planned. type-unknown
Projects
None yet
Development

No branches or pull requests