Linq to sql Linq2SQL:DeleteAllOnSubmit是否区分要重新添加的实体?
Linq遇到了一些奇怪的行为: 情况:Linq to sql Linq2SQL:DeleteAllOnSubmit是否区分要重新添加的实体?,linq-to-sql,Linq To Sql,Linq遇到了一些奇怪的行为: 情况: 我在两个实体之间有一个多对多关系:UserProfile和BusinessUnit(加入UserProfile\u BusinessUnit表) 使用列表框,用户可以多选择UserProfile所属的业务单元 更新记录时,我调用: dataContext.UserProfile\u BusinessUnit.DeleteAllOnSubmit(UserProfile.BusinessUnits); dataContext.SubmitChanges() 这
dataContext = null;
dataContext = new UserProfileDataContext();
难道不应该有一种方法让datacontext“提交”并继续吗
关于我如何继续下去有什么想法吗?我考虑过转储DeleteAllOnSubmit,并显式地比较输入和输出的内容。。。但这似乎比我需要做的工作多得多
谢谢
守则:
dataContext.UserProfile_BusinessUnits.DeleteAllOnSubmit(userProfile.UserProfile_BusinessUnits);
dataContext.SubmitChanges(); // all records deleted
foreach (var b in model.BusinessUnitsSelected)
{
userProfile.BusinessUnits.Add(GetBusinessUnitAsEntity(b.ToString()));
}
cx.SubmitChanges(); // only net new being added
试试这个:
foreach (var b in model.BusinessUnitsSelected)
{
var unit = GetBusinessUnitAsEntity(b.ToString());
userProfile.BusinessUnits.Add(unit);
db.BusinessUnits.InsertOnSubmit(unit);
}
您可以将其添加到本地集合和主业务单位表中。您可以发布代码吗?这对解决这个问题会有很大帮助。