2011-06-24 75 views
2

大家再次,實體框架4.1一一對應的關係可空

我需要在這個邏輯EF 4.1 一些幫助,我有一個表的客戶數據。我也有一個調查,我需要在需要時編譯另一個表。 所以initally我可以插入一個新客戶,過了些日子,我會填寫調查表。那麼這種關係必須是一對一和可選的(只是因爲這個調查永遠不會爲客戶編譯)。

我在一些例子中挖在線,但我真的很堅持。

預先感謝您。

+0

這是否意味着調查可以在不存在顧客?你選擇什麼意思? –

+0

對不起,我不清楚。客戶可以無需交付就可以存在。這必須是一對一的關係,其中的調查可以是可選的。謝謝 – Valerio

+0

我忘了提及它必須有參考完整性 – Valerio

回答

4

簡單地定義喜歡你的實體:

public class Customer 
{ 
    public int Id { get; set; } 
    ... 
    public virtual Survey Survey { get; set; } 
} 

public class Survey 
{ 
    [Key, ForeignKey("Customer")] 
    public int Id { get; set; } 
    public virtual Customer Customer { get; set; } 
} 

如果你不喜歡數據的註釋刪除,並把這個成OnModelCreating在上下文:

modelBuilder.Entity<Customer>() 
      .HasOptional(c => c.Survey) 
      .WithRequired(s => s.Customer); 
+0

或者你可以創建一個單獨的映射類繼承EntityTypeConfiguration

+0

終於從4.0升級到CTP5到4.2 ...花了幾個小時跟蹤到一個變化1至0..1關係...的.WithRequired性(s => s.Customer)改變 – JCii