5

これは私自身のEFモデルを初めて作成しようとしたもので、コードを使用してルックアップテーブルの関連付けを作成しようとしていますまず、私がアクセスできるように:EF 4.1コードファースト:タイプ内の各プロパティ名は、ルックアップテーブルの関連付けで一意のエラーでなければなりません

myProduct.Category.AltCategoryID 

を私は正しいことを理解し、セットアップモデルとマッピングを持っていますが、 エラー0019を取得し続ける:タイプの各プロパティ名は一意である必要があります。私はいくつかを試してみた

modelBuilder.Entity<Product>() 
        .HasOptional(p => p.Category) 
        .WithRequired() 
        .Map(m => m.MapKey("CategoryID")); 

:私は関連付けを指定している

[Table("Product", Schema="mySchema")] 
public class Product { 
    [Key, DatabaseGenerated(System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.None)] 
    public int ProductID { get; set; } 
    public int CategoryID { get; set; } 
    public virtual Category Category { get; set; } 
} 

[Table("Category", Schema="mySchema")] 
public class Category { 
    [Key, DatabaseGenerated(System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.None)] 
    public int CategoryID { get; set; } 
    public string Name { get; set; } 
    public int AltCategoryID { get; set; } 
} 

:プロパティ名はすでに

次のモデルは私のコードで表現されている定義された「区分します」 [ForeignKey]アノテーションを追加することを含む他のことがありますが、その結果、ProductIDフィールドへの参照を含むエラーが発生します。

あなたが探している

答えて

8

modelBuilder.Entity<Product>() 
      // Product must have category (CategoryId is not nullable) 
      .HasRequired(p => p.Category)  
      // Category can have many products 
      .WithMany()      
      // Product exposes FK to category 
      .HasForeignKey(p => p.CategoryID); 
関連する問題