gpt4 book ai didi

c# - MVC 4 Beta - 在写入本地名称为 'type' 的属性后,您必须写入属性 ='object' '__type'

转载 作者:太空狗 更新时间:2023-10-29 21:51:32 26 4
gpt4 key购买 nike

我正在使用新的 MVC 4 Beta 中的 WebAPI。我在尝试获取具有 virtual ICollection<> 的实体时遇到此错误要填充的属性。现在有办法解决这个问题吗?我知道这是在 Beta 阶段,所以这可能会在未来得到解决。如果有解决方案,这只是一种好奇。

最佳答案

我通过删除 virtual 关键字并确保在我的存储库中的 Include 语句中提供了具有 virtual 关键字的对象和集合来实现这一点。

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();
}
}

关于c# - MVC 4 Beta - 在写入本地名称为 'type' 的属性后,您必须写入属性 ='object' '__type',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9675980/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com