2012-07-17 54 views
0

我似乎無法找到答案,但我想要做的是採用嵌套複雜類型並將其平鋪到父表中使用唯一的ID。EF 4.1嵌套複雜類型到單個字段

的代碼如下:

public class Address 
{ 
    public virtual string Street1 { get; set; } 
    public virtual string Street2 { get; set; } 
    public virtual string City { get; set; } 
    public virtual string ZipCode { get; set; } 
    public virtual int Id { get; set; } 
    public virtual Region Region { get; set; } 
} 

public class Region 
{ 
    public virtual int Id { get; set; } 
    public virtual string Code { get; set; } 
} 

表結構的定義,像這樣:

CREATE TABLE [ClientManagement].[Addresses] 
(
    [Id]   INT IDENTITY(1,1) NOT NULL, 
    [Street1]  [NVARCHAR](100), 
    [Street2]  [NVARCHAR](100), 
    [City]   [NVARCHAR](100), 
    [ZipCode]  [NVARCHAR](15), 
    [RegionId]  [INT] 
) 

有沒有我可以使用EF 4.1來定義這種關係什麼辦法?

謝謝 德里克

回答

0

試試這個:

[ComplexType] 
public class Region 
{ 
    [Column("RegionId")] 
    public virtual int Id { get; set; } 
    [NotMapped] 
    public virtual string Code { get; set; } 
} 

或這OnModelCreating

modelBuilder.ComplexType<Region>().Ignore(r => r.Code); 
modelBuilder.ComplexType<Region>().Property(r => r.Id).HasColumnName("RegionId"); 
+0

工作就像一個魅力。非常感謝! – 2012-07-18 16:28:40