我似乎无法找到答案,但我想要做的是采用嵌套的复杂类型,并仅使用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来定义这种关系吗?
谢谢你, 德里克
答案 0 :(得分: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");