新しいMVC 4ベータ版でWebAPIを使用しています。私はvirtual ICollection<>
プロパティを持つエンティティを取得しようとしたときにこのエラーに遭遇しました。今のところこれを回避する方法はありますか?これがベータ段階にあることを理解しているので、これは道路に固定されている可能性があります。このためにそこに解決策があるのであれば、それは好奇心に過ぎませんでした。MVC 4ベータ - ローカル名 '__type'を持つ属性を記述した後、 'type' = 'object'属性を記述する必要があります
6
A
答えて
2
仮想キーワードを削除し、仮想キーワードを持つオブジェクトやコレクションがMyリポジトリ内のIncludeステートメントに含まれていることを確認することで、これが機能するようになりました。
public class Order
{
public int ID { get; set; }
public DateTime OrderDate { get; set; }
public ICollection<Product> Products { get; set; }
}
public interface IOrderRepository
{
IQueryable<Order> Orders { get; }
void SaveOrder(Order order);
void DeleteOrder(Order order);
}
public class OrderRepository
{
StoreDbContext db = new StoreDbContext();
public IQueryable<Order> Orders
{
get { return db.Orders.Include("Products"); }
}
public void SaveOrder(Order order)
{
db.Entry(order).State = order.ID == 0 ?
EntityState.Added :
EntityState.Modified;
db.SaveChanges();
}
public void DeleteOrder(Order order)
{
db.Orders.Remove(order);
db.SaveChanges();
}
}
0
私にも同様の問題がありました。単純な型しか持たないViewModelクラスのようなものを使って修正しました。 DbContextから返されたオブジェクトをViewModelクラスに変換し、それをクライアントに渡しました。
これはすべての状況で機能するわけではありませんが、それは私の場合でした。
1
同じ問題がありましたが、デフォルトのWebApiシリアライザに問題があるようです。 私はGlobal.asax.csにJson.Netをフォーマッタとして追加しました。 http://blogs.msdn.com/b/henrikn/archive/2012/02/18/using-json-net-with-asp-net-web-api.aspx
これは私がちょうどNuGet使用Json.Netパッケージを追加
JsonSerializerSettings serializerSettings = new JsonSerializerSettings();
serializerSettings.Converters.Add(new IsoDateTimeConverter());
GlobalConfiguration.Configuration.Formatters[0] = new JsonNetFormatter(serializerSettings);
私は私のGlobal.asax.csに持っているものであり、以下のようにJsonNetFormatterクラスを作成しました: は、私はこの例に従っ上記の記事で説明しました。
0
も、この問題に遭遇しました。私の状況は少し違いました。
私はこの構造を持っていて、それは私にとってはうまくいかないでしょう。
[DataContract]
public class MJPEGCamera : Camera
{
}
[DataContract]
public class H264Camera : Camera
{
}
[DataContract]
public class Camera
{
[DataMember]
public string cameraName { get; set; }
[DataMember]
public string address { get; set; }
[DataMember]
public string format { get; set; }
[DataMember]
public string archiveDaysUrl { get; private set; }
[DataMember]
public string archiveHoursUrl { get; private set; }
}
私は、必要なものを達成するためにカメラに工場を作成しました。これがこの答えを見つける誰かを助けることを願っています。
関連する問題
- 1. MVCのカスタム属性を記述する際に助けが必要
- 2. awsで記述属性チェックを取得するため
- 3. 自分の記述属性をPandas DataFrameに追加する
- 4. SQLでクエリを記述する必要があります
- 5. 記述子マジックのないpython属性の参照?
- 6. XHTMLのメタ記述とlang属性のキーワード
- 7. 記述子:__getattributeて属性アクセスのも優先()__
- 8. UMLのデータ属性をtypedefで符号なしで記述する方法
- 9. 「属性」の動的数を持つ行と一致する非動的SQLを記述できますか?
- 10. [DataMember]属性と[IgnoreDataMember]属性を持つ属性がありません
- 11. .netスクリプトWebサービス:__type属性
- 12. 通貨記号を作成した後の属性記号
- 13. エラー:@ConditionalOnPropertyの名前属性または値属性をスプリングブートで指定する必要があります。
- 14. 本当に長いHTML属性値を複数の行に記述する方法はありますか?
- 15. Object [] []のJavaフィールド記述子
- 16. "contact type"属性を持つldap objectclass
- 17. UUIDはサービス、特性、記述子のために区別される必要がありますか?
- 18. xpath - 属性の問題付き述語
- 19. 別のクラスの__init__で属性をインスタンス化するためにpython記述子を使用できますか?
- 20. 拡張クラスのコンストラクタを記述する必要がありますか?
- 21. TypeScriptモジュールのTypeScript定義を記述する必要がありますか?
- 22. ブーストグラフライブラリで頂点記述子を追跡する必要がありますか?
- 23. 角度material2コンポーネントのラッパーを記述する必要がありますか?
- 24. 名前のないパラメータは、空の名前「_」を使用して記述する必要がありますか?
- 25. WebStormの短い記述例が必要
- 26. 属性を持つetree要素を取得するか、または属性がサブ要素を含む
- 27. ランタイムの属性を取得する必要があります
- 28. R:私は記述統計を持つテーブルがある
- 29. クラスのヘッダーファイルにプライベートメソッドを記述する必要はありますか?
- 30. Spring MVC 4 @RequestParam DTO必須属性
自動生成されたプロキシをシリアル化することに関連したエラーがあり、実際にそれらを必要としない場合は、コンテキスト上でプロキシ作成を無効にする必要があるかもしれません...同様のQ/A ... http ://stackoverflow.com/questions/8173524/webapi-with-ef-code-first-generates-error-when-having-parent-child-relation – blins
これはおそらくもっと効率的な別の解決策です。http://stackoverflow.com/questions/7235650/entity-framework-serialize-poco-to-json – starcorn