EF中的属性导航参考

时间:2012-03-28 19:13:23

标签: c# entity-framework-4.1 ef-code-first fluent

在我的课程produc中,我收集了一些照片。 此系列中的一张照片代表主要产品照片。

我的产品类别

public class Product
{
    public Guid ID { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public virtual ICollection<Photo> Photos { get; set; }
    public virtual Photo Photo { get; set; }
}

属性photo必须指向照片集中的一张照片。

ProducsConfiguration

要生成数据库的架构,请使用以下配置:

public class ProductConfiguration : EntityTypeConfiguration<Product>
{
    public ProductConfiguration()
    {
        HasKey(p => p.ID)
            .Property(p => p.ID)
            .IsRequired();

        Property(p => p.Name)
            .IsRequired()
            .HasMaxLength(65);

        HasMany(p => p.Photos).WithMany().Map(m => m.ToTable("ProductPhotos"));
        ...???...
    }
}

问题

如何将属性photos作为对集合Photos中的一张照片的引用?

的配置(US的FLUENT CONFIGURATION)

谢谢!

1 个答案:

答案 0 :(得分:0)

假设这是一个拼写错误并且您指的是Photo属性,那么您无需做任何其他事情。

默认情况下,Photo将是对照片的引用。从技术上讲,Photo不会 成为Photos集合的一部分(并且无法使EF验证),但它将完成您所需要的(具有“主要”) “照片”