0
나는 클래스를 xml로 직렬화하려고 시도한다. 직렬화 후, 나는 statusid를 업데이 트하고 싶습니다. 첫 번째 주문을 찾아 statusId를 변경할 수 있습니다. 두 번째 orderid로 이동하면 여기 모호한 일치가 발생하여 오류가 발생했습니다. 여기 dbcontext throwAmbiguousMatchException
의 주요 방법 다음 OrderRepository.cs에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();
}
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에 대해 여러 개의 일치 항목을 찾는 것처럼 보입니다. 기본 데이터 저장소 란 무엇입니까? –
나는 데이터, 모든 단일 항목을 두 번 확인했습니다. 그것은 두 번째 하나만 찾아 볼 때 완전히 괜찮습니다. – Kiddo
스택 추적을 게시 할 수 있습니까? – Pawel