0
我嘗試將一個類序列化爲xml。在序列化之後,我想更新statusid。 我能夠找到第一個訂單並改變statusId,當去第二個orderid時,這裏是我遇到模糊匹配發現錯誤的地方。dbcontext throwAmbiguousMatchException
這裏的主要方法:
using (var Context = new Context())
{
var orderRepo = new OrderRepository(Context);
foreach (var orderId in orderIds)
{
var order = orderRepo.Find(orderId);
order.orderStatusID = 5;
}
orderRepo.Save();
}
在OrderRepository.cs
public Order Find(int id)
{
return _context.Orders.Find(id);
}
public void Save()
{
try
{
_context.SaveChanges();
}
catch (Exception ex)
{
_logger.Error(ex);
}
}
order.cs:
[XmlRoot("Orders")]
[NotMapped]
public class OrderCollection
{
public OrderCollection() { Orders = new List<Order>(); }
[XmlElement("Order")]
[NotMapped]
public List<Order> Orders { get; set; }
}
[Serializable()]
public class Order
{
public int id { get; set; }
[XmlElement("date")]
public DateTime createdDate
{
get
{
return (_createdDate == default(DateTime))
? DateTime.Now
: _createdDate;
}
set { _createdDate = value; }
}
private DateTime _createdDate = default(DateTime);
public string firstName { get; set; }
public string lastName { get; set; }
[XmlIgnore]
public int orderStatusID { get; set; }
}
看起來您的代碼正在查找給定訂單ID的多個匹配項。您的底層數據存儲是什麼? – 2013-03-05 12:50:43
我有雙重檢查數據,所有單個條目。當我只查找第二個時,它是完全正確的 – Kiddo 2013-03-05 13:21:59
你可以發佈堆棧跟蹤嗎? – Pawel 2013-03-05 19:26:05