Yeni MVC 4 Beta'da WebAPI ile çalışıyorum. Bu hataya rastladım, virtual ICollection<>
özelliğinin bulunduğu bir varlık elde etmeye çalışırken. Şu an bu şekilde dolaşmanın bir yolu var mı? Bunun Beta aşamasında olduğunu anlıyorum, bu yüzden bu yolun dibine düşebilir. Bunun için bir çözüm varsa, sadece bir meraktı.MVC 4 Beta - "__type" yerel adıyla özniteliği yazdıktan sonra 'type' = 'object' niteliği yazmanız gerekir
cevap
Sanal anahtar sözcüğünü kaldırarak ve sanal anahtar kelimesi olan nesnelerin ve koleksiyonların depolamamdaki Dahil Et bildirisinde sağlandığından emin olmak için bunu işe aldım.
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();
}
}
Benzer bir sorunla karşılaştım. Yalnızca basit türlere sahip bir tür ViewModel sınıfı kullanarak düzeltdim. DbContext tarafından döndürülen nesneyi ViewModel sınıfıma çevirdim ve bunu istemciye ilettim.
Bu, her durumda işe yaramazdı, ancak benimkide yaptı.
Aynı sorun vardı, varsayılan WebApi seri hale getirici ile ilgili bir sorun gibi görünüyor. Json.Net'i Global.asax.cs sayfamda bir biçimlendirici olarak ekledim ve benim için iyi çalıştı. http://blogs.msdn.com/b/henrikn/archive/2012/02/18/using-json-net-with-asp-net-web-api.aspx
Bu sadece Nuget kullanarak Json.Net paketi eklendi
JsonSerializerSettings serializerSettings = new JsonSerializerSettings();
serializerSettings.Converters.Add(new IsoDateTimeConverter());
GlobalConfiguration.Configuration.Formatters[0] = new JsonNetFormatter(serializerSettings);
Benim Global.asax.cs içinde ne var olup olarak JsonNetFormatter sınıfını yarattı: Sadece bu örneği takip Yukarıdaki yazıya açıkladı.
Bu soruna da girdik. Benim durumum biraz farklıydı.
Bu yapıya sahiptim ve benim için işe yaramazdı.
[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; }
}
Yani sadece ne gerekli gerçekleştirmek için kamera bir fabrika oluşturdu. Umarım bu cevabı bulan birisine yardım eder.
- 1. chai-http yazdıktan sonra
- 2. Üzerine yazdıktan sonra window.console erişim
- 3. json response_with "type" niteliği dahil Rails 3.1
- 4. Openpyxl - object 'load_workbook' özniteliği yok
- 5. MVC 4
- 6. URL yeniden yazdıktan sonra eksik CSS dosyası ve görüntüler
- 7. ASP.NET MVC, doğrulama özniteliği
- 8. Python: type() kullanırken eksik class özniteliği __module__?
- 9. Django: Model Formu "object özniteliği yok" temizlenmemiş_data '"
- 10. ASP.NET MVC Preview 4
- 11. Kısıtlama düzeni beta 4 - parçaları çalışmıyor
- 12. Podofo; Bir PDF dosyası yazdıktan sonra "Katalog nesnesi bulunamadı"
- 13. MVC 4 uygulamasını azure'a yayınladıktan sonra kimlik doğrulama sorunları
- 14. iOS 11 beta 4 presentRenderbuffer kilitlenme
- 15. MVC Özel Yetkilendirme Özniteliği davranışı
- 16. lxml.objectify öznitelikleri olmadan özniteliği ayrıştıramaz - kurtarma gerekir = Ttrue
- 17. MVC 4'te @ Html.MailTo nerede?
- 18. RavenDb'den yazdıktan hemen sonra okunan tutarsız veriler döndürülüyor
- 19. Axis2 Bağlantıya başarılı bir şekilde yazdıktan sonra bağlantıya sıfırlama
- 20. fwrite, sonuna kadar yazdıktan sonra dosyanın sonuna yazıyor
- 21. Asp.net MVC 4
- 22. MVC 4 WebApi?
- 23. MVC 4 .net
- 24. MVC 4 _Layout.cshtml viewmodel
- 25. Kullanıcı, ASP.NET MVC 4
- 26. MVC 4 Kaldır "ev"
- 27. MVC 4 - Kullanıcı kimliğine bürünme
- 28. $ tanımlı değil - asp.net MVC 4
- 29. Fotoğrafı MVC 4 Uygulamalarına Yükleyin
- 30. WebPack beta 23 yükseltme sonra artık boş uzantıları
Hata otomatik olarak oluşturulan proxy'leri serileştirme ile ilgili ise VE gerçekten bunlara ihtiyacınız yoksa, yalnızca bağlamınızda proxy oluşturmayı devre dışı bırakmanız gerekebilir ... İşte benzer bir Q/A ... http : //stackoverflow.com/questions/8173524/webapi-with-ef-code-first-generates-error-when-having-parent-child-relation – blins
İşte muhtemelen daha verimli olan başka bir çözüm http://stackoverflow.com/sorular/7235650/varlık-framework-serialize-poco-to-json – starcorn