Asp.net 使用SQL Server数据存储建模一对多关系的实体框架
我能得到一些诊断以下问题的帮助吗Asp.net 使用SQL Server数据存储建模一对多关系的实体框架,asp.net,entity-framework,linq,asp.net-core,Asp.net,Entity Framework,Linq,Asp.net Core,我能得到一些诊断以下问题的帮助吗 IQueryable<MyComponentsViewModel> vcvm = from v1 in pg.MyComponents join item in Items on v1.Item equals item into vc select new MyComponentsVie
IQueryable<MyComponentsViewModel> vcvm = from v1 in pg.MyComponents
join item in Items on v1.Item equals item into vc
select new MyComponentsViewModel
{ Cost = item.Cost };
我假设,您需要内部联接,当您执行equals时,您需要使用匹配的列ID来过滤记录,如下所示
IQueryable<MyComponentsViewModel> vcvm =
from myComp in pg.MyComponents
join item in Items on myComp.ItemId equals item.Id
select new MyComponentsViewModel { Cost = item.Cost };
我能让它工作 名为Items的操作之间存在歧义。完全指定解决此问题的命名空间。 此外,我还必须从vc.DefaultIfEmpty中的子项添加语句 我还在努力学习这个的全部语义
IQueryable<MyComponentsViewModel> vcvm =
from v1 in pg.MyComponents
join item in pg.Items on v1.Item equals item into vc
from subitem in vc.DefaultIfEmpty()
select new MyComponentsViewModel { Cost = subitem.Cost };
这不是与SQL相关的问题。它可能来自依赖关系,因为数据存储是SQL server,需要键入。有更好的标签吗?你有没有试过用谷歌搜索你的错误?是的,它开始喜欢大多数东西,但我发现一篇帖子与此无关。你能提供任何有用的反馈吗?对不起,我很抱歉,谢谢。我认为外键使实体框架能够自动了解关系。
IQueryable<MyComponentsViewModel> vcvm =
from v1 in pg.MyComponents
join item in pg.Items on v1.Item equals item into vc
from subitem in vc.DefaultIfEmpty()
select new MyComponentsViewModel { Cost = subitem.Cost };