Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Linq/C从连接表获取信息_C#_Linq_Junction - Fatal编程技术网

C# Linq/C从连接表获取信息

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 上面的版本简化了,表扩展了 因

我最近正在努力解决与Linq数据公开相关的问题。我的任务是从3个表中提取信息。 一个包含资源列表,另一个包含相关服务的信息。这两个表与连接表连接。 结构:

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;
}