新しい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. 自分の記述属性をPandas DataFrameに追加する
- 3. 記述子マジックのないpython属性の参照?
- 4. XHTMLのメタ記述とlang属性のキーワード
- 5. 記述子:__getattributeて属性アクセスのも優先()__
- 6. [DataMember]属性と[IgnoreDataMember]属性を持つ属性がありません
- 7. 「属性」の動的数を持つ行と一致する非動的SQLを記述できますか?
- 8. .netスクリプトWebサービス:__type属性
- 9. "contact type"属性を持つldap objectclass
- 10. Object [] []のJavaフィールド記述子
- 11. 別のクラスの__init__で属性をインスタンス化するためにpython記述子を使用できますか?
- 12. 拡張クラスのコンストラクタを記述する必要がありますか?
- 13. ランタイムの属性を取得する必要があります
- 14. クラスのヘッダーファイルにプライベートメソッドを記述する必要はありますか?
- 15. asp.net Webフォームアプリケーションのaction-filter属性を記述することはできますか?
- 16. 画像からdivへのalt属性の抽出(ギャラリー記述目的)
- 17. Visual Studio 2008マクロはVB.Netで記述する必要がありますか?
- 18. 複数の要素を持つXMLファイルをデシリアライズする属性 - 属性はC#。ネット4を使用して
- 19. エラー: '保持'属性を持つプロパティ 'myBoolVariableName'がオブジェクト型である必要があります
- 20. PHPの文字列属性名を持つオブジェクトの属性を設定する
- 21. コンポーネントまたはモジュールを記述する必要がありますか? (または両方?)
- 22. ASP.NET MVC ModelMetadata - モデルのUIを記述する属性を設定したときに懸念の分離に違反していますか?
- 23. ヘルプには、正規表現記述する必要が
- 24. 特定の値を持つ属性を持つ要素に属性を追加する
- 25. Python 2.7:typeオブジェクト "ElementTree"には属性 "register_namespace"がありません
- 26. 属性エラー: 'module'オブジェクトに属性がありません - ヘルプはもう必要ありません。
- 27. C#4には一般的な属性がありますか?
- 28. 共有属性の親テーブルを作成する必要がありますか?
- 29. ソケットへの読み書きにファイル記述子またはストリームを使用する必要があります
- 30. Ferns記述子で訓練した後にopencv記述子マッチャーを保存する
自動生成されたプロキシをシリアル化することに関連したエラーがあり、実際にそれらを必要としない場合は、コンテキスト上でプロキシ作成を無効にする必要があるかもしれません...同様の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