我正在尝试在表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; }
}