0

我似乎找不到答案,但我想做的是采用嵌套的复杂类型并将其展平到仅使用 id 的父表中。

代码如下:

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 来定义这种关系?

谢谢你,德里克

4

1 回答 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");
于 2012-07-18T10:39:17.680 回答