【发布时间】:2022-01-01 12:15:23
【问题描述】:
我是使用 C# 进行 ASP.NET MVC 编码的初学者,在其中一个学习课程中,我正在使用 Entity Framework 实现 2 个 SQL Server 表之间的关系。
但是,当我尝试在 localhost 上运行它时,我收到了这个错误:
System.InvalidCastException
HResult=0x80004002
消息=无法将“Dev.DB.SUST_INC_TRCKR_DTLS”类型的对象转换为“System.Collections.Generic.ICollection`1[Dev.DB.SUST_INC_TRCKR_DTLS]”类型。
来源=Dev.DB堆栈跟踪:
在 Dev.DB.DBOperations.SustHCRepository.Onboard_Sust_HC(HC_TBL hc) 在 C:\Users\NT_ID\source\repos\Training\Dev.DB\DBOperations\SustHCRepository.cs:32 行
在 C:\Users\NT_ID\source\repos\Training\MVC_Lesson13\Controllers\CreateController.cs: 30 行中的 MVC_Lesson13.Controllers.CreateController.Index(HC_TBL hc)
在 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(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.WrappedAsyncResult2.CallEndDelegate(IAsyncResult asyncResult) 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.c__DisplayClass11_0.b__0() 在 System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.c__DisplayClass11_2.b__2()
以下是我与实体.tt 类一起使用的两个类。
主键表的模型类:
外键表的模型类:
Entity .tt C# 主键表:
Entity .tt C# 用于外键表:
数据库操作存储库 C#(这是我得到错误的地方):
我当然知道我犯了一些错误。但是,没有一个 google 或 stack 论坛可以提供这方面的解决方案。
请帮忙
【问题讨论】:
标签: c# asp.net-mvc entity-framework .net-core entity-framework-6