У меня есть страница объявлений о том, что, когда пользователь ее просматривает, добавляет ее в «видимую» базу данных. Проблема с этим заключается в том, что если я затем дважды щелкнул одну и ту же страницу, тогда она записывает это дважды и так далее. Вот мой код. Как я могу проверить, существует ли запись в базе данных?Предотвращение дублирования вставок в базу данных
public ActionResult Index()
{
string currentUserId = User.Identity.GetUserId();
var currentUser = db.Users.FirstOrDefault(x => x.Id == currentUserId);
List<Seen> seens = new List<Seen>();
foreach (Announcement anoun in db.Announcements)
{
seens.Add(new Seen
{
User = currentUser, // You have this already so why go to the database again?
Announcement = anoun, // Same with this.
});
}
db.Seens.AddRange(seens);
db.SaveChanges();
return View(db.Announcements.ToList());
}
Вы просто добавляете в БД, где ваш код, чтобы проверить, существует ли он в БД? –
@ L.B это вопрос – user3042332
Итак, вы хотите, чтобы кто-то написал его для вас? Где ваши усилия? –