C# Linq/C从连接表获取信息
我最近正在努力解决与Linq数据公开相关的问题。我的任务是从3个表中提取信息。 一个包含资源列表,另一个包含相关服务的信息。这两个表与连接表连接。 结构:C# Linq/C从连接表获取信息,c#,linq,junction,C#,Linq,Junction,我最近正在努力解决与Linq数据公开相关的问题。我的任务是从3个表中提取信息。 一个包含资源列表,另一个包含相关服务的信息。这两个表与连接表连接。 结构: Resource Table: ResourceID (PK) Description ServiceResources Table (junction table): ServiceID(FK) Resource(FK) Service Table: ServiceID (PK) Description 上面的版本简化了,表扩展了 因
Resource Table:
ResourceID (PK)
Description
ServiceResources Table (junction table):
ServiceID(FK)
Resource(FK)
Service Table:
ServiceID (PK)
Description
上面的版本简化了,表扩展了
因此,问题是:
我生成了包含所有有用信息的特殊对象:
public class ResourceAndService
{
public string Resource
{
get;
set;
}
public string Service
{
get;
set;
}(...)
我想用linq查询中的信息填充它,它应该返回IList:
public IList<ResourceAndService> ReturnListOfServicesAndResources()
{
var dt = (from res in entities.Resource
from service in entities.Service
select
new ResourceAndService(){
Resource = res.ResourceID,
Service= ser.ServiceID,
(...)
}).ToList();
return dt;
}
不幸的是,当我尝试执行此命令时,调试窗口中会出现警告:
RaportBrowser.DLL中发生了类型为“System.NullReferenceException”的第一次意外异常
查询永远不会结束
您有过此类问题的经验吗?好的,空指针异常的问题在其他地方。 顺便说一下,对于您的信息,访问连接表的正确方法是:
public IList<ResourceAndService> ReturnListOfServicesAndResources()
{
var dt = (from res in entities.Resource
from service in res.Service
select
new ResourceAndService()
{
Resource = res.ResourceID,
Service= ser.ServiceID,
(...)
}).ToList();
return dt;
}
好的,空指针异常的问题在其他地方。 顺便说一下,对于您的信息,访问连接表的正确方法是:
public IList<ResourceAndService> ReturnListOfServicesAndResources()
{
var dt = (from res in entities.Resource
from service in res.Service
select
new ResourceAndService()
{
Resource = res.ResourceID,
Service= ser.ServiceID,
(...)
}).ToList();
return dt;
}