Отношение внешнего ключа в Entity Framework - PullRequest
1 голос
/ 11 августа 2011

Я новичок в структуре сущностей. У меня есть две таблицы ...

public class S7_Baskets
{
    [Required, Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
    [Column(Order = 0)]
    public string S7_BasketID { get; set; }
    [Required, Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
    [Column(Order = 1)]
    public int S7_Seqno { get; set; }
    public int S7_ProductID { get; set; }

    public virtual S2_Products S2_Product { get; set; }

}

и

public class S2_Products
{
    [Key]
    public int S2_ProductID { get; set; }
    public string S2_Desc { get; set; }
}

S7_ProductID должен ссылаться на S2_ProductID?

1 Ответ

1 голос
/ 11 августа 2011

Если я понимаю ваш вопрос и что вы пытаетесь сделать. Я думаю, что вы хотите добавить атрибут ForiegnKey в свойство S7_ProductID.

Как показано здесь:

public class S7_Baskets
{
   [Required, Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
   [Column(Order = 0)]
   public string S7_BasketID { get; set; }

   [Required, Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
   [Column(Order = 1)]
   public int S7_Seqno { get; set; }

   [ForeignKey("S2_Products")]
   public int S7_ProductID { get; set; }
   public virtual S2_Products S2_Product { get; set; }

}

В метод OnModelChange модели может также потребоваться добавить что-то вроде следующего:

modelBuilder.Entity<S7_Baskets>()
            .HasRequired(t => t.S2_Products)
            .WithMany()
            .HasForeignKey(t => t.S7_ProductID).WillCascadeOnDelete(false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...