Skip to content

What's new in RC1 #2635

New issue

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

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

Already on GitHub? # to your account

Merged
merged 4 commits into from
Sep 14, 2020
Merged

What's new in RC1 #2635

merged 4 commits into from
Sep 14, 2020

Conversation

ajcvickers
Copy link
Contributor

No description provided.

@ajcvickers
Copy link
Contributor Author

@dotnet/efteam This is not complete yet, but putting up what I have done so far to start getting some reviews. Note:

  • I still have to do required 1:1 dependents. If anything else is missing, please call it out.
  • Please check for community fixed issues that are not credited
  • I haven't done any proof-reading, so there are likely a lot of typos, etc. :-)

@ajcvickers ajcvickers requested a review from a team September 11, 2020 22:48

* Translation of `is` on Cosmos--see [#16391](https://github.com/dotnet/efcore/issues/16391)
* User mapped functions can now be annotated to control null propagation--see [#19609](https://github.com/dotnet/efcore/issues/19609)
* Support for translation of GroupBy with conditional aggregates--see [#11711](https://github.com/dotnet/efcore/issues/11711)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we put example of this too? Not a huge feature as such but could help in educating users what more types of pattern we support now.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure! 😁

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could include single query applying multiple aggregates

  • Count with predicate
  • Where + Min/Max
  • Distinct + Sum/Avg

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@smitpatel I thought you were volunteering to write the examples... :-D

}
```

When Migrations (or `EnsureCreated`) are used to create the database, EF Core will automatically create the join table. For example, on SQL Server for this model, EF Core generates:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
When Migrations (or `EnsureCreated`) are used to create the database, EF Core will automatically create the join table. For example, on SQL Server for this model, EF Core generates:
When migrations (or `EnsureCreated`) are used to create the database, EF Core will automatically create the join table. For example, on SQL Server for this model, EF Core generates:

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We capitalize Migrations when it refers to the EF feature, as opposed to an actual migration.

* The interceptor has both sync and async methods. This can be useful if you need to perform async I/O, such as writing to an audit server.
* The interceptor allows SaveChanges to be skipped using the `InterceptionResult` mechanism common to all interceptors.

The downside of interceptors is that they must be registered on the DbContext when it is being constructed. For example:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wouldn't exactly call this a downside ;)

Suggested change
The downside of interceptors is that they must be registered on the DbContext when it is being constructed. For example:
Note that interceptors must be registered on the DbContext when it is being constructed. For example:

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See #22359

* Translation of `is` on Cosmos--see [#16391](https://github.com/dotnet/efcore/issues/16391)
* User mapped functions can now be annotated to control null propagation--see [#19609](https://github.com/dotnet/efcore/issues/19609)
* Support for translation of GroupBy with conditional aggregates--see [#11711](https://github.com/dotnet/efcore/issues/11711)
* Translation of Distinct operator over group element before aggregate--see [#17376](https://github.com/dotnet/efcore/issues/17376)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* Translation of Distinct operator over group element before aggregate--see [#17376](https://github.com/dotnet/efcore/issues/17376)
* Translation of Distinct over group elements before aggregate--see [#17376](https://github.com/dotnet/efcore/issues/17376)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But Distinct is applied over the group element 'g'.
There are inner elements in the group element.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leaving as is for now.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, just that English-wise I don't think it works as-is, but not very important.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is nothing wrong English-wise here. You can apply Distinct over any enumerable stream.

@ajcvickers
Copy link
Contributor Author

@dotnet/efteam I have addressed comments and adding the required dependents section.

Co-authored-by: Brice Lambson <brice@bricelam.net>
@ajcvickers ajcvickers merged commit c550261 into master Sep 14, 2020
@smitpatel smitpatel deleted the HotAndNewAndNewAndHot0910 branch September 14, 2020 15:17
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants