首页 新闻 会员 周边 捐助

EF循环保存数据,如何给每个对象重新赋值

0
悬赏园豆:50 [已关闭问题] 关闭于 2013-06-16 15:20

WorkInfo  workinfo=null;
private void getCityList() 
{
    workinfo = new WorkInfos();
    workinfo.Source = "";
    workinfo.From = "";
    workinfo.To = "";
    workinfo.CreateTime = DateTime.Now;
    db.WorkInfos.Add(workinfo);
    db.SaveChanges();
    //后面方法保存workinfo的外键数据
}
WorkInfo表是主表,现在循环调用getCityList方法保存WorkInfo对象到数据,第一次循环时成功了.到第二次就报错如下
操作失败: 无法更改关系,因为一个或多个外键属性不可以为 null。对关系作出更改后,会将相关的外键属性设置为 null 值。如果外键不支持 null 值,则必须定义新的关系,必须向外键属性分配另一个非 null 值,或必须删除无关的对象

这个该如何解决..

ef c#
我是只萧萧鸟的主页 我是只萧萧鸟 | 初学一级 | 园豆:156
提问于:2013-06-16 11:09
< >
分享
所有回答(3)
-1

是不是没有给WorkInfo的主键赋值呢

Yu | 园豆:12990 (专家六级) | 2013-06-16 13:17

主键是自增长

支持(0) 反对(1) 我是只萧萧鸟 | 园豆:156 (初学一级) | 2013-06-16 14:48

@我是只萧萧鸟: WorkInfo 表的外键是否设置了不允许为null

支持(0) 反对(1) Yu | 园豆:12990 (专家六级) | 2013-06-16 21:58
-1

主键冲突吧,你这个赋值方式,主键应该是相同的吧。

kylin.chen | 园豆:983 (小虾三级) | 2013-06-16 14:05

表关系WorkInfo  一对多 Flight

每次都是创建了一个新WorkInfo对象保存,主键自增长

支持(0) 反对(1) 我是只萧萧鸟 | 园豆:156 (初学一级) | 2013-06-16 14:51
-1

每次实例化一个新db

我是只萧萧鸟 | 园豆:156 (初学一级) | 2013-06-16 15:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册