Я пытаюсь установить отношение один-ко-многим между таблицей users
и orders
, но проблема в том, что таблица Users
не имеет внешнего ключа, который можно связать с таблицей Orders
, а столбец, на который я ссылаюсь, - orderNumber
Приложение работает в течение некоторого времени, поэтому попытка добавить или изменить столбцы не вариант.
Цель состоит в том, чтобы использовать то, что уже существует, и заставить эту асинхронную функцию работать, следуя подходу навигационных свойств.
public async Task<List<Order>> GetCustomerOrders()
{
using (var context = new Users())
{
var user = context.Users.FirstOrDefault(c => c.orderNumber == 7005);
return user.Orders.ToList();
/* Error
An unhandled exception occurred while processing the request.
ArgumentNullException: Value cannot be null.
Parameter name: source
*/
}
}
И классы моделей выглядят так:
public partial class User
{
public int Id { get; set; }
public string Name { get; set; }
public int orderNumber { get; set; }
/* Create relationship with orderNumber foreign key */
[ForeignKey("orderNumber")]
public virtual ICollection<Order> Orders { get; set; }
}
public partial class Order
{
public int Id { get; set; }
public int orderNumber { get; set; }
/* Create relationship */
public virtual User User { set; get; }
}