Rerun relationship discovery if target entity type has been readded

Open
#19,550 1 comment 0 reactions 1 assignee View on GitHub

@AndriySvyryd is already working on this.

Since Oct 19, 2022.

Assessment

This issue has not been assessed yet.

Description

area-conventions area-model-building
modelBuilder
    .Entity<A>();

modelBuilder
    .Ignore<B>();

modelBuilder
    .Entity<B>();

Should find the relationship in:

public class A
{
    public int Id { get; set; }
    public B B { get; set; }
}

public class B
{
    public int Id { get; set; }
}

Also rerun it if a type was marked as owned and previously the relationships were ambiguous:

    protected class BaseOwner
    {
        public int Id { get; set; }
        public OwnedTypeInheritanceWithReference OwnedWithRef1 { get; set; } = null!;
        public OwnedTypeInheritanceWithReference OwnedWithRef2 { get; set; } = null!;
    }

    [Owned]
    protected class OwnedTypeInheritanceWithReference
    {
        public string? Value { get; set; }
        public int OwnerId { get; set; }
        public BaseOwner? Owner { get; set; }
    }
Dominant language
C#
Stars
14.8k
Forks
3.4k
Avg merge
2d 5h
Merged PRs (30d)
134

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from dotnet/efcore

All issues in dotnet/efcore

Similar issues

More C# issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.