2

からサブプロパティのマッピングには、私はこのような実体を持っている:エンティティフレームワーク|コードファースト| CultureInfo.Name

public class Course { 
    public CultureInfo Culture {get; set;} 
    : 
} 

そして私は、Entity Frameworkのが私のために生成テーブル内の単一の列にCultureInfoのちょうどNameプロパティをマップします。

どうすればいいですか?現在、私はDbContextのOnModelCreating()メソッドを見てみましたが、目立つものは何も見つかりません。

私はEntity Framework 4.1 inとMVC 3アプリケーションをCode Firstアプローチで使用しています。

多くのありがとうございます。

答えて

5

この方法では、Unfrotunatelly EFはできません。回避策は、Nameの別のプロパティを定義してデータベースにマップし、Cultureプロパティをマッピングされていないものとしてマークします。

public class Course 
{ 
    public CultureInfo Culture { get; set; } 
    public string CultureName 
    { 
     get 
     { 
      if (Cuture != null) 
      { 
       return Culture.Name; 
      } 

      return null; 
     } 
     set 
     { 
      // same check for value can be placed here 

      Culture = new CultureInfo(value); 
     } 
    } 
} 

とマッピングであなたが定義されます:私が聞きたかったものではありません

modelBuilder.Entity<Course>() 
      .Ignore(c => c.Culture); 
+0

を、私たちは、私はどうもありがとうございましたラディスラフ:)と仮定し、すべてを持つことはできません! – jwwishart

関連する問題