C# 仅将viewmodel的几个部分保存到db
我有一个viewmodel,我想根据一些条件跳过我正在保存的部分细节,我无法找到不重复代码的方法(我知道这是一个糟糕的做法) 我需要做的是根据用户的选择向模型主题(SubjectId)(good | | | bad | | | ught)+1添加项目,因此在最后我将有:主题名称和(X good,X bad,X ught) 我想代码会帮助我更好地解释自己C# 仅将viewmodel的几个部分保存到db,c#,asp.net-mvc,asp.net-mvc-viewmodel,C#,Asp.net Mvc,Asp.net Mvc Viewmodel,我有一个viewmodel,我想根据一些条件跳过我正在保存的部分细节,我无法找到不重复代码的方法(我知道这是一个糟糕的做法) 我需要做的是根据用户的选择向模型主题(SubjectId)(good | | | bad | | | ught)+1添加项目,因此在最后我将有:主题名称和(X good,X bad,X ught) 我想代码会帮助我更好地解释自己 //subject table is one-to-many i need to add only the "grade" in case t
//subject table is one-to-many i need to add only the "grade" in case the subject name already exists
if (model.rev.GBU == "Good")
{
model.sub.Good = +1;
}
else if (model.rev.GBU == "Bad")
{
model.sub.bad = +1;
}
else if (model.rev.GBU == "Ugly")
{
model.sub.Ugly = +1;
}
//checked if the subject name is already in the db
var subjectNameQuery = db.Subject.Where(n => n.SubjectName.ToLower().Equals(model.sub.SubjectName));
if (subjectNameQuery.Count() > 0)
{
//if the name is in the table, do Not add it again
model.rev.SubjectId = subjectNameQuery.SingleOrDefault().SubjectId;
}
else
{
db.Subject.Add(model.sub);
}
当你说“跳过相同部分的细节”时,你到底是什么意思?您是否正在尝试将
model.rev
更新到数据库,而不是model.sub
?对不起,我不完全确定你想问什么。我已经更新了我的Q,我希望它现在更清楚。你的问题现在更清楚了,谢谢。我不完全清楚为什么要将model.rev
对象的subjectNameQuery.SingleOrDefault().SubjectId设置为SubjectId
变量代码>?查看-这可能会帮助您更新特定记录。当您说“跳过相同部分的详细信息”时,您的确切意思是什么?您是否正在尝试将model.rev
更新到数据库,而不是model.sub
?对不起,我不完全确定你想问什么。我已经更新了我的Q,我希望它现在更清楚。你的问题现在更清楚了,谢谢。我不完全清楚为什么要将model.rev
对象的subjectNameQuery.SingleOrDefault().SubjectId设置为SubjectId
变量代码>?查看-这可能有助于您更新特定记录。