0

これが私のコードです

ギャラリークラス

public class Gallery
{
   public Guid Id { get; set; }
   public virtual ICollection<PhotoGallery> Photos { get; set; }
   public List<PhotoGallery> ActivePhotos 
   { 
      get { return this.Photos.Where(/*condition*/); 
   }
}

写真クラス

public class Photo
{
   public Guid Id { get; set; }
   public string PhotoPath { get; set; }
}

フォトギャラリー クラス

public class PhotoGallery
{
   public virtual Gallery Gallery { get; set; }
   public virtual Photo Photo { get; set; }
   public int SortOrder { get; set; }
}

Add-Migration コマンドを実行すると、望ましくない Gallery.ActivePhotos の関係が生成されます。私の質問は、EF5 の既定の動作ですか? この前に、このような GET のみのプロパティはまったくマップされないことを覚えています。それとも私はこれについて間違っていますか?

4

1 に答える 1

0

次のように、プロパティに注釈を追加してみてください。

public class Gallery
{
   public Guid Id { get; set; }
   public virtual ICollection<PhotoGallery> Photos { get; set; }

   [NotMapped]
   public List<PhotoGallery> ActivePhotos 
   { 
      get { return this.Photos.Where(/*condition*/); 
   }
}

これがEF5の新機能であると言うものは何も見つかりませんでしたが、私はEF 4.3.1を使用しており、質問のようなマッピングされていないプロパティのみを読み取りました。

それが役立つことを願っています。

于 2013-01-02T12:59:41.617 に答える