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 を使用した Address のモデル構成。私は以下のコードを持っています

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

私が本当に欲しいのは、 public virtual Customer Customer {get;set;}を使用する代わりに、 Public Int CustID が必要です。
Address クラスのプロパティ...そして、外部キーとしてマッピングを行います。

誰かがいくつかの提案を投げてくれませんか...

4

2 に答える 2

2

プロパティを Address クラスに追加するだけです。

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