-2

在我的代碼第一個應用程序,我有一個類「客戶」和「地址」。我的客戶類具有地址類引用。例如如何避免遷移將數據分成兩個表?

class Customer{ 
    public string name {get;set;} 
    public Address address {get;set;} 
} 

class Address{ 
    public string street{get;set;} 
    public string number{get;set;} 
} 

當我遷移這些數據我有一個表的客戶與這些列:

name 
address_street 
address_number 

是偉大的。我的數據只在一張桌子上。這對我來說是完美的!

但是我需要(爲其他原因)添加一個地址的ID。

class Address{ 
    [Key] 
    public int EnderecoId { get; set; } 
    public string street{get;set;} 
    public string number{get;set;} 
} 

在這種情況下遷移將我的客戶表分成客戶和地址表。

name 
addressId 

street 
number 

有可能避免這種情況的任何註解?我真的希望在客戶表中有地址數據。

+1

不知道爲什麼你不走標準化路線:https://msdn.microsoft.com/en-us/data/jj713564 .aspx?f = 255&MSPPError = -2147217396,但您可以將[NotMapped]添加到您的ID。 http://stackoverflow.com/questions/10572442/how-to-ignore-a-property-when-using-entity-framework-code-first –

+0

當有人有兩個地址時會發生什麼?完全同意@SteveGreene規範化是要走的路。 – krillgar

+0

夥計們,我明白你的觀點。請注意,這是一個表達我的需求的例子。真實的數據不是地址。比較複雜。但我很感激你的關心。 –

回答

0

爲了讓代碼首先識別這個,您必須將Address類標記爲[ComplexType]。然後地址將作爲客戶對象的一部分進行跟蹤。

只需添加[的ComplexType]註釋到地址類

[ComplexType] 
public class Address 
{ 
    //... 
} 
相關問題