Код Entity Framework Первое пользовательское сопоставление с использованием частичного ключа - PullRequest
0 голосов
/ 13 декабря 2011

Возможно ли сначала выполнить следующее сопоставление с кодом Entity Framework?

public class Parent
{
     [Key]
     public int ID {get; set;}
     public string statecode{get; set;}

     public virtual ICollection<Child> children{get; set;}
}

public class Child
{
    [Key, Column(Order = 0)]
    public string StateFromCode { get; set; }
    [Key, Column(Order = 1)]
    public string StateToCode { get; set; }
}

Я хотел бы указать отношение в моем dbcontext, где дочерние элементы лениво загружаются в Parent и Parent.statecode == Child.StateToCode.Обратите внимание, что StateToCode является частью дочернего ключа, а не всего первичного ключа.Что я должен указать в моем контексте БД ниже, чтобы это произошло, если возможно вообще?

protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        modelBuilder.Entity<Parent>().HasMany(x=>x.children)..............

    }

1 Ответ

2 голосов
/ 13 декабря 2011

Это невозможно - особенно если речь идет не о коде, где отношения должны следовать тем же правилам, что и при определении ссылочного ограничения в базе данных. Таким образом, единственное допустимое отношение потребует столбца Id Parent в таблице Child и внешнего ограничения для этого столбца

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...