EF 4.2 Создание отношения один-к-одному без отношения в базе данных - PullRequest
0 голосов
/ 20 января 2012

Мне нужно переписать классический ASP на C # .NET, и в системе есть 2 таблицы:

Таблица 1:

Table1
{
   [Key]
   public string WebRef {get;set;}
   ....
}

Таблица 2:

 Table2
{
  [Key]
  public string WebRef{get;set;}
  [Key]
  public int sequence{get;set;}
   .....
}

На SQL Server они не имеют никакого отношения, но это отношение один-к-одному.

Вопрос: Возможно ли создать отношение с помощью EF 4.2?

Мне нужно поместить таблицу 2 внутри модели таблицы 1 так:

Table1
{
   [Key]
   public string WebRef {get;set;}
   ....
   public Table2 table2{get;set}
}

Заранее спасибо.

1 Ответ

0 голосов
/ 20 января 2012

Попробуйте это

public class Table1
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOptions.Identity)]
    public int Table1ID{get;set;}

}

public class Table2
{
     [Key]
     [DatabaseGenerated(DatabaseGeneratedOptions.Identity)]
     public int Table2ID{get;set;}

     [ForeignKey("Table1")]
     public int Table1ID {get;set;}

     public virtual Table1 Table1 {get; set;}

}

Это отношение «один-к-N». Чтобы установить отношение «один-к-одному», необходимо установить Table1ID для Table2 как UniqueKey с помощью SQLSERVER, поскольку EF CodeFirst не поддерживает уникальные ключи ...

...