我有2个班,订单和退货。我需要为1个订单返回1个,到目前为止,我可以使用1-many关系创建一个Return,我很乐意立即用于测试,但ReturnId
类中的Order
返回null
,而ReturnId
类中的OrderId
和Return
都显示正确的数据。为什么Order
类没有显示正确的对应ReturnId
?
以下是我的课程(删除不相关的数据):
public partial class Order
{
[ScaffoldColumn(false)]
public int OrderId { get; set; }
[ForeignKey("ReturnId")]
public returnDetails returnDetails { get; set; }
public List<OrderDetail> OrderDetails { get; set; }
}
public class returnDetails
{
[Key]
[ScaffoldColumn(false)]
public int ReturnId { get; set; }
[ScaffoldColumn(false)]
public System.DateTime ReturnDate { get; set; }
[Required]
public string Reason { get; set; }
public int OrderId { get; set; }
public List<Order> Order { get; set; }
}
}
我的控制器;
public ActionResult ReturnsForm(int orderID)
{
returnDetails model = new returnDetails()
{
OrderId = orderID
};
return View(model);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ReturnsForm([Bind(Include = "ReturnId,OrderId,ReturnDate,Reason")] returnDetails returnDetails)
{
if (ModelState.IsValid)
{
if (returnDetails != null)
{
returnDetails.ReturnDate = DateTime.Now;
}
db.returnDetails.Add(returnDetails);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(returnDetails);
}
ERROR
类型为“T_shirt_Company_v3.Models.Order”的属性“returnDetails”上的ForeignKeyAttribute无效。在依赖类型“T_shirt_Company_v3.Models.Order”上找不到外键名称“ReturnId”。 Name值应该是以逗号分隔的外键属性名称列表。