2

我最近正在努力解决与 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”类型的第一次机会异常

查询永远不会结束。

你有遇到过这样的问题吗?

4

1 回答 1

0

好的,空指针异常的问题出在其他地方。
顺便说一句,为了您的信息,访问联结表的正确方法是:

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;
}
于 2011-12-08T22:50:52.557 回答