如何避免错误 -- System.InvalidCastException:无法将对象转换为类型 'System.Collections.Generic.ICollection
How to Avoid Error -- System.InvalidCastException: Unable to cast object to type 'System.Collections.Generic.ICollection
我是使用 C# 进行 ASP.NET MVC 编码的初学者,在其中一个学习课程中,我使用 [=53= 实现了 2 SQL 服务器 table 之间的关系].
但是,当我在本地主机上尝试 运行 时,出现了这个错误:
System.InvalidCastException
HResult=0x80004002
Message=Unable to cast object of type 'Dev.DB.SUST_INC_TRCKR_DTLS' to type 'System.Collections.Generic.ICollection`1[Dev.DB.SUST_INC_TRCKR_DTLS]'.
Source=Dev.DB
StackTrace:
at Dev.DB.DBOperations.SustHCRepository.Onboard_Sust_HC(HC_TBL hc) in C:\Users\NT_ID\source\repos\Training\Dev.DB\DBOperations\SustHCRepository.cs:line 32
at MVC_Lesson13.Controllers.CreateController.Index(HC_TBL hc) in C:\Users\NT_ID\source\repos\Training\MVC_Lesson13\Controllers\CreateController.cs:line 30
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 parameters) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c.<BeginInvokeSynchronousActionMethod>b__9_0(IAsyncResult asyncResult, ActionInvocation innerInvokeState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult
2.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_0.b__0()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.b__2()
下面是我在实体 .tt
classes.
中使用的两个 classes
主键table的模型class:
外键 table 的模型 class:
实体 .tt
C# 主键 table:
实体 .tt
外键的 C# table:
数据库操作存储库 C#(这是我收到错误的地方):
我确实知道我犯了一些错误。但是,google 或堆栈论坛的 none 可以提供解决方案。
请帮忙
下次请post代码而不是图片,否则您的post将被关闭。
但是由于元旦放假,修正错误信息所在的行,应该是
SYST_IC_TRCKR_DTLS= new List<SYST_INC_TRCKR_DTLS> {SYST_INC_TRCKR}
我是使用 C# 进行 ASP.NET MVC 编码的初学者,在其中一个学习课程中,我使用 [=53= 实现了 2 SQL 服务器 table 之间的关系].
但是,当我在本地主机上尝试 运行 时,出现了这个错误:
System.InvalidCastException
HResult=0x80004002
Message=Unable to cast object of type 'Dev.DB.SUST_INC_TRCKR_DTLS' to type 'System.Collections.Generic.ICollection`1[Dev.DB.SUST_INC_TRCKR_DTLS]'.
Source=Dev.DBStackTrace:
at Dev.DB.DBOperations.SustHCRepository.Onboard_Sust_HC(HC_TBL hc) in C:\Users\NT_ID\source\repos\Training\Dev.DB\DBOperations\SustHCRepository.cs:line 32
at MVC_Lesson13.Controllers.CreateController.Index(HC_TBL hc) in C:\Users\NT_ID\source\repos\Training\MVC_Lesson13\Controllers\CreateController.cs:line 30
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 parameters) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c.<BeginInvokeSynchronousActionMethod>b__9_0(IAsyncResult asyncResult, ActionInvocation innerInvokeState) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult
2.CallEndDelegate(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_0.b__0() at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_2.b__2()
下面是我在实体 .tt
classes.
主键table的模型class:
外键 table 的模型 class:
实体 .tt
C# 主键 table:
实体 .tt
外键的 C# table:
数据库操作存储库 C#(这是我收到错误的地方):
我确实知道我犯了一些错误。但是,google 或堆栈论坛的 none 可以提供解决方案。
请帮忙
下次请post代码而不是图片,否则您的post将被关闭。
但是由于元旦放假,修正错误信息所在的行,应该是
SYST_IC_TRCKR_DTLS= new List<SYST_INC_TRCKR_DTLS> {SYST_INC_TRCKR}