gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 22:10:31 25 4
gpt4 key购买 nike

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

enter image description here

接下来,我无缘无故地尝试将重命名的 View 添加到 DAL 中,但出现了同样的异常。从 DAL.tt 中手动删除没有帮助。用谷歌搜索问题,只有 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com