好的,我完全为这个感到难过。我可能没有足够的信息可以在此处发布,但我什至不知道从哪里开始寻找。
我正在尝试在我的DAL.edmx文件上“从数据库更新模型”。我为以前未包含的 View 添加了一个字段。我尝试刷新,然后尝试重命名数据库中的 View 并从DAL中删除该 View ,以便重新添加它。两次我都

c# - 修改DAL,System.ArgumentException, "An entry with the same key already exist"时出错-LMLPHP

接下来,无缘无故,我尝试将重命名的 View 添加到DAL中,但出现了相同的异常。从DAL.tt手动删除无济于事。 Googled问题,只有2个不相关的结果。我什至不知道从哪里开始寻找。

我没有写它,但是这里是 View 的源sql(如果有帮助的话)。 EF不会添加重命名 View 的事实暗示它可能是在SQL中? SQL在mngmnt studio中运行良好。

SELECT     ID, IssueID, IssueTypeID, IssueText, IssueCreateDate, WeekendDate, CustomerName, Employee,
                  CONVERT(DECIMAL(6, 2), AdjustedTotalRHours, 101) AS AdjustedTotalRHours, AdjustedTotalOHours,
                  AdjustedTotalRHours + AdjustedTotalOHours AS Hours, InvoiceNumber, AdjustedInvoiceAmount,
                  COALESCE
                      ((SELECT     SUM(InvoiceAmount) AS Expr1
                          FROM         TrendingDataFinal AS I1
                          WHERE     (InvoiceNumber = T1.InvoiceNumber) AND (CompanyID = T1.CompanyID) AND
                                                (CalType = 'F') AND (Aident = T1.Aident)), 0) AS TotalInvoiceAmount, InvoiceDate,
                  ROUND(DATEDIFF(DAY, InvoiceDate, GETDATE()), 0) AS DaysOutstanding, Notes, Aident, EINC, IsClosed,
                  CompanyID,
                      (SELECT     COUNT(ne.EntryID) AS Expr1
                        FROM          Madison.Notes.Note AS n INNER JOIN
                                               Madison.Notes.NoteEntry AS ne ON n.NoteID = ne.NoteId
                        WHERE      (n.Key1 = T1.InvoiceNumber)) AS HasNotes, COALESCE
                      ((SELECT     TOP (1) CompanyName
                          FROM         ReportingCompanies AS I1
                          WHERE     (CompanyId = T1.CompanyID)), '') AS CompanyName, BranchName, PayStatus
FROM         BillMan_ReportStage AS T1

任何建议,将不胜感激。

更新:使用相同的SQL创建了跨越新 View 的品牌,并通过相同的方法将其添加到DAL中,出现了相同的错误。

最佳答案

我有完全一样的问题。正如我注意到的那样,在将.edmx文件与Subversion合并后出现了该问题。在文本编辑器中查看.edmx文件,我发现了一个重复的EntitySetMapping条目。手动删除重复项后,问题已解决!
希望这可以帮助

关于c# - 修改DAL,System.ArgumentException, "An entry with the same key already exist"时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32783135/

10-13 02:43