2017-09-11 7 views
0

ef 6.1.3およびautomapper 6.1.1を使用してOdata v3エンドポイントを持っていました。OData with EF and automapper:比較できません.. '。プリミティブ型、列挙型、およびエンティティ型のみがサポートされています

データモデル、

  • 注文、注文ライン

    パブリック部分クラス順序 {[System.Diagnostics.CodeAnalysis.SuppressMessage( "Microsoft.Usage"、「CA2214で多数に1:DoNotCallOverridableMethodsInConstructors ")] public order() { this.OrderLines = new HashSet(); }

    public System.Guid OrderID { get; set; } 
    public string OrderPlacedBy { get; set; } 
    public Nullable<System.DateTime> PlacedTime { get; set; } 
    
    [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")] 
    public virtual ICollection<OrderLine> OrderLines { get; set; } 
    

    }

  • 注文ライン

    公共部分クラスオーダーライン {公共可能System.Guid OrderLineID {得ます。セット; } public Nullable OrderID {get;セット; } public Nullable Amount {get;セット; }

    public virtual Order Order { get; set; } 
    } 
    

AutoMapperコード、今私は$これは、と不平を言っている

=の注文ラインを拡張?

http://localhost:34354/odata/OrderでURLを参照する場合

cfg => 
      { 
       cfg.AllowNullDestinationValues = true; 
       cfg.AllowNullCollections = true; 
       cfg.SourceMemberNamingConvention = new LowerUnderscoreNamingConvention(); 
       cfg.DestinationMemberNamingConvention = new PascalCaseNamingConvention(); 
       cfg.RecognizeDestinationPrefixes("DTO_"); 

       cfg.CreateMap<Order, OrderDTO>() 
        .ForMember(d=>d.OrderLines,o=>o.AllowNull()) 
        .ForMember(d=>d.OrderLines,o=>o.MapFrom(s=>s.OrderLines)); 
       cfg.CreateMap<OrderLine, OrderLineDTO>(); 
      }); 

間違いまたは

'' c4codata.OrderDTO ''タイプの 'OrderLines'メンバーを比較できません。プリミティブ型、列挙型、およびエンティティ型のみがサポートされています。

何が間違っていましたか?これは数日間私の苦労した、助けてください!

私は事は、あなたが最初のデータベースを使用している、あるhttps://github.com/ninithepug/odata

答えて

0

にレポをアップロードしました。すべての午前のテストはまずコードを使用し、それが実際に動作します。だからあなたもそうするべきです。 Working gist

+0

データベースモデルが変更できないため、最初はコードを使用できません。 –

+0

また、これは、私のhoweveがまだうまくいきません.https://github.com/AutoMapper/AutoMapper/issues/925 –

+0

データベースを変更する人はいません。既存のデータベースと一致するようにエンティティを書き込むことができます。 –

関連する問題