EF Core Doubts - Learn these things
-----------------
1. Migration in details?
2. EF Core has a new feature in LINQ-to-Entities where we can include C# or VB.NET functions in the query. This was not possible in EF 6.
3. EF Core creates a clustered index on Primarykey columns and a non-clustered index on ForeignKey columns, by default.
4. Shadow Properties?
5. Conventions are default rules using which Entity Framework builds a model based on your domain (entity) classes.
6. The Student entity class includes a reference navigation property of Grade type. (https://www.entityframeworktutorial.net/efcore/one-to-many-conventions-entity-framework-core.aspx)
7. The Grade entity includes a collection navigation property of type ICollection<student>. (https://www.entityframeworktutorial.net/efcore/one-to-many-conventions-entity-framework-core.aspx)
8. EF 6.x or prior does not support conventions for One-to-One relationship. Unique constraint is supported in Entity Framework Core but not in EF 6 and that's why EF Core includes conventions for one-to-one relationship but not EF 6.x.
9. In EF Core, a one-to-one relationship requires a reference navigation property at both sides.
10. Data annotation attributes are the same in EF 6 and EF Core.
11. Fluent API configurations have higher precedence than data annotation attributes.
12. Many-to-many relationships without an entity class to represent the join table are not yet supported.
However, you can represent a many-to-many relationship by including an entity class for the join table and mapping two separate one-to-many relationships.
(https://docs.microsoft.com/en-us/ef/core/modeling/relationships?tabs=fluent-api%2Cfluent-api-simple-key%2Csimple-key)
13. Entity Framework Core introduced a new type of property called "Shadow" property which was not exist in EF 6.x.
14. FromSql Limitations
a. SQL queries must return entities of the same type as DbSet<T> type. e.g. the specified query cannot return the Course entities if FromSql is used after Students. Returning ad-hoc types from FromSql() method is in the backlog.
b. The SQL query must return all the columns of the table. e.g. context.Students.FromSql("Select StudentId, LastName from Students).ToList() will throw an exception.
c. The SQL query cannot include JOIN queries to get related data. Use Include method to load related entities after FromSql() method.
Comments
Post a Comment