У меня есть такой метод:
public FbUser FindUserByGraphOrInsert(dynamic json, bool commit = false)
{
string graphId = json.id;
EntityDataModelContext context = DataContext.GetDataContext();
FbUser user = context.FbUsers.FirstOrDefault(u => u.FbGraphId == graphId);
if (user == null)
{
user = new FbUser();
user.FbGraphId = json.id;
user.FbUsername = StringExtensions.UnicodeDecode(json.name);
context.FbUsers.AddObject(user);
if (commit)
context.SaveChanges();
}
return user;
}
Я вызываю этот метод несколько раз в цикле (скажем, в 80 раз), с commit = false
Дело в том, что я ожидалэтот метод, чтобы сообщить мне, если пользователь уже находится в контексте, но это не так.
В результате, когда я, наконец, сохраняю изменения, я получаю список из 80 пользователей,где 27 различны.
Я ожидаю, что этот метод возвратит эти 27, как я могу изменить его, чтобы добиться этого?
Действительно ли мне нужно сохранять изменения каждый раз?