我有以下课程
public pratial class Address
{
public Guid AddressID{ get; set; }
public AddressType AddressType{ get; set; }
}
public partial class AddressType
{
public string TypeName{ get; set; }
}
在我派生的 DBContext 类中,我已经覆盖了 OnModelCreating
protected override OnModelCreating(DBModelBuilder modelBuilder)
{
modelBuilder.Entity<Address>().HasKey( p => p.AddressID );
modelBuilder.Entity<Address>().Property ( p => p.AddressID)
.HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
modelBuilder.Entity<Address>().HasRequired( p => p.AddressType);
modelBuilder.Entity<AddrssType>().HasKey( p => p.TypeName );
...
}
这很好,我在数据库中填写了一条记录
我在数据库中的表最终看起来像这样
Addresses Table
AddressID (PK, uniqueidentified, not null)
AddressType_TypeName(FK, nvarchar(32), not null)
AddressTypes Table
TypeName (PK, uniqueidentifies, not null)
现在我把一些数据放在表中
AddressTypes Record TypeName 我放在 Business
在我放入业务的地址记录 AddressType_TypeName
当我对此进行单元测试时,我希望能重新记录下来
List<Address> addresses = context.Addresses.ToList()
Assert.AreEqual(addresses[0].AddressType.TypeName, "Business");
但这无法告诉我 AddressType 为空
如何设置 Address 和 AddressType 之间的关系,以便我取回已连接的 AddressType?