Asp.net mvc 2 实体框架代码优先-更新功能失败
内部异常消息:发生引用完整性约束冲突:定义引用约束的属性值在关系中的主体对象和从属对象之间不一致Asp.net mvc 2 实体框架代码优先-更新功能失败,asp.net-mvc-2,entity-framework-4,entity-framework-4.1,Asp.net Mvc 2,Entity Framework 4,Entity Framework 4.1,内部异常消息:发生引用完整性约束冲突:定义引用约束的属性值在关系中的主体对象和从属对象之间不一致 dynamic obj = ""; if (model.LoadResultCount!=0) { obj = new LoadManagementResultsCountUserSetting(); obj.ResultsCount = Convert.ToInt16(model.Loa
dynamic obj = "";
if (model.LoadResultCount!=0)
{
obj = new LoadManagementResultsCountUserSetting();
obj.ResultsCount = Convert.ToInt16(model.LoadResultCount);
obj.Id = Convert.ToInt16(model.LoadResultCountId);
//var loadManagementResultCount = ApplicationService.GetSettings<LoadManagementResultsCountUserSetting>(f => f.Id == model.LoadResultCountId).FirstOrDefault();
//ApplicationService.Remove(loadManagementResultCount);
SaveResultCountUserSettings(obj, model);
}
if (model.PlanningResultCount!=0)
{
obj = new PlanningManagementResultsCountUserSetting();
obj.ResultsCount = Convert.ToInt16(model.PlanningResultCount);
obj.Id = Convert.ToInt16(model.PlanningResultCountId);
//var planningManagementResultCount = ApplicationService.GetSettings<PlanningManagementResultsCountUserSetting>().Where(f => f.Id == model.PlanningResultCountId).FirstOrDefault();
//ApplicationService.Remove(planningManagementResultCount);
SaveResultCountUserSettings(obj, model);
}
private void SaveResultCountUserSettings(dynamic obj, ResultCountViewModel model)
{
obj.IsEnabled = true;
obj.IsPrimary = model.IsPrimary;
obj.StartDate = DateTime.UtcNow;
obj.ModifiedDate = DateTime.UtcNow;
obj.ModifiedBy = AuthenticatedUser;
ApplicationService.Save(obj);
}
public void Save(BaseLogixSetting setting)
{
if (setting != null)
{
if (setting.Id > 0)
SettingsRepository.Attach(setting);
else
SettingsRepository.Add(setting);
Commit();
}
}
dynamic obj=”“;
if(model.LoadResultCount!=0)
{
obj=新的LoadManagementResultsCountUserSetting();
obj.resultCount=转换为16(model.LoadResultCount);
obj.Id=Convert.ToInt16(model.LoadResultCountId);
//var loadManagementResultCount=ApplicationService.GetSettings(f=>f.Id==model.LoadResultCountId).FirstOrDefault();
//ApplicationService.Remove(loadManagementResultCount);
SaveResultCountUserSettings(对象、模型);
}
if(model.PlanningResultCount!=0)
{
obj=新计划管理结果CountUserSetting();
obj.ResultsCount=Convert.ToInt16(模型规划结果计数);
对象Id=转换为16(模型规划结果计算);
//var planningManagementResultCount=ApplicationService.GetSettings()。其中(f=>f.Id==model.planningresultcount.FirstOrDefault();
//ApplicationService.Remove(计划管理结果帐户);
SaveResultCountUserSettings(对象、模型);
}
私有void SaveResultCountUserSettings(动态对象、ResultCountViewModel模型)
{
obj.IsEnabled=真;
obj.IsPrimary=model.IsPrimary;
obj.StartDate=DateTime.UtcNow;
obj.ModifiedDate=DateTime.UtcNow;
obj.ModifiedBy=认证用户;
ApplicationService.Save(obj);
}
公共作废保存(BaseLogixSetting设置)
{
如果(设置!=null)
{
如果(setting.Id>0)
设置存储。附加(设置);
其他的
SettingsRepository.Add(设置);
提交();
}
}
使用相同保存方法的两个型号为什么从一开始就使用动态
而不是BaseLogixSetting
?在这种情况下,我不确定EF是否能处理obj.ModifiedBy=AuthenticatedUser
(我能在您的代码中找到的唯一关系)。