У меня возникла странная проблема с Entity Framework и SQL Server, которые я не могу понять.Entity Framework Вставка нескольких копий одних и тех же данных
Я строю интернет-магазин в ASP.NET MVC 5.
Я вставив статистики о поиске в таблицу под названием SearchResults - он имеет такую структуру:
[SearchID] [int] IDENTITY(1,1) NOT NULL,
[SearchTerm] [varchar](5000) NULL,
[SearchDate] [datetime] NULL,
[Results] [int] NULL
Я просто делаю простой EF топка с этим C# код в поисковом действии контроллера, который получает размещённый на со сроком поиска:
var s = new SearchResult() { SearchTerm = search, SearchDate = DateTime.Now, Results = results };
db.SearchResults.Add(s);
db.SaveChanges();
результатов является ИНТОМ с графом продукты найденных при поиске.
Всякий раз, когда я выполняю поиск, тот же поиск вставляется ровно 3 раза, с немного разными временами для каждой вставки. Странная часть заключается в том, что иногда она будет вставлять только одну запись (как и ожидалось). Я не могу понять, почему это делается.
Я запустил трассировку SQL, и когда она вставляет 3, есть только один вызов БД. Это то, что в след:
exec sp_executesql N'INSERT [dbo].[SearchResults]([SearchTerm],[SearchDate], [Results])
VALUES (@0, @1, @2)
SELECT [SearchID]
FROM [dbo].[SearchResults]
WHERE @@ROWCOUNT > 0 AND [SearchID] = scope_identity()',N'@0 varchar(5000),@1 datetime2(7),@2 int',@0='dew',@1='2015-02-16 16:32:53.4649185',@2=2
Странная часть является DateTime показано на вставке значение, для третьей вставки.
У меня полная потеря за то, почему это происходит. Я пробовал все, что мог придумать, но я все еще получаю повторы на вставке.
Есть ли триггеры на столе? –
Нет триггеров или внешних ключей. Это автономный стол. – AndrewC73