我有以下代码:
var preferences = await Context.Preferences.Where(x => x.UserId == user.Id).FirstOrDefaultAsync();
检查数据库以查看首选项表中是否存在与相关用户ID
对应的条目我目前的情况是没有与此userID对应的条目,所以我检查null,如下所示,然后创建一个新对象:
if (preferences == null)
{
preferences = new Preference() { UserId = user.Id };
}
然后,进一步在int代码中,使用以下行保存所有更改:
await Context.SaveChangesAsync();
据我所知,保存了对上下文对象所做的所有更改。
问题是,当preferences为null时,新创建的对象不是上下文的一部分,因此不会被保存。
我的理解是否正确?
如果是这样,我怎样才能保存。
我尝试了以下内容:
if (preferences == null)
{
Context.Preferences = new Preference() { UserId = user.Id };
}
但这不起作用(不出所料)。
我确信这很简单,但我看不到adn找不到任何帮助我的东西....
答案 0 :(得分:1)
我找到了答案:
if (preferences == null)
{
preferences = new Preference() { UserId = user.Id };
Context.Preferences.Add(preferences);
}