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 に答える