2

最近、Linq データの説明に関連する問題に苦しんでいます。私の仕事は、3 つのテーブルから情報を抽出することです。1 つはリソースのリストを含み、もう 1 つは関連サービスに関する情報を含みます。これら 2 つのテーブルは、ジャンクション テーブルで結合されます。構造:

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;
        }(...)

そして、IList を返す必要がある linq クエリからの情報を入力したいと思います。

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

残念なことに、このコマンドを実行しようとすると、デバッグ ウィンドウに次のような警告が表示されます。

タイプ 'System.NullReferenceException' の初回例外が RaportBrowser.DLL で発生しました

そして、クエリは決して終了しません。

このような問題の経験はありますか?

4

1 に答える 1

0

OK、null ポインター例外の問題は別の場所にありました。
ちなみに、ジャンクションテーブルにアクセスする正しい方法は次のとおりです。

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 に答える