我正在使用 .NET4.5/EF5 并从现有数据库创建模型。
我正在使用以下代码:
Order currentOrder = new Order();
using (var db = new ILSEntities())
{
try
{
Event currentEvent = db.Events.OrderByDescending(u => u.EventID).FirstOrDefault();
currentOrder.Event = currentEvent;
db.Orders.Add(currentOrder);
db.SaveChanges();
而且我看到正在为我找到的 Event 对象创建重复记录,这不是我想要发生的。
我已经阅读了很多与类似问题相关的帖子,但是外键关系中两个参与者的上下文不同。在这里,我使用与查找一个对象相同的上下文进行保存,而另一个对象是新对象。
我也试过:
currentOrder.Event.EventID = currentEvent.EventID;
但这失败了,并且我收到一个 EF 验证错误,告诉我它需要 Event 对象的其他成员的值。
我还尝试在添加对象之后将EntityState
要复制的对象的 设置为等Detached
,但之前没有成功。Modified
Order
SaveChanges
我确定这是一个基本问题,但这让我感到困惑