0

我有下表作为我的实体

public class Customer
{
  public int CustId{get;set;}
  public string Name {get;set;}
}


public class Address
{
  public int Id{get;set;}
  public string Name {get;set;}
   **public virtual Customer Customer {get;set;}**
}

在我使用 Fluent API 的地址模型配置中。我有以下代码

HasKey(p => p.Id);
HasRequired(p => p.Customer).WithMany().Map(m => m.MapKey("CustId"));

我真正想要的不是使用 公共虚拟客户 Customer {get;set;} 我想要拥有 Public Int CustID; 地址类中的属性...并且仍然将映射
作为外键进行。

有人可以提出一些建议吗...

4

2 回答 2

2

您只需要将属性添加到您的地址类:

public class Address
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int CustId { get; set; }

    public virtual Customer Customer { get; set; }
}

然后更新你的流利,而不是使用 .map 函数使用 .HasForeignKey 函数:

        modelBuilder.Entity<Address>()
            .HasRequired(p => p.Customer)
            .WithMany()
            .HasForeignKey(p => p.CustId);
于 2012-09-21T19:44:32.837 回答
0

或者,您可以使用 DataAnnotations:

public class Address
{
    [Required, Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    public string Name { get; set; }
    public int CustId { get; set; }
    [ForeignKey("CustId")]
    public Customer Customer { get; set; }
}
于 2013-03-03T23:02:53.617 回答