viewmodelを使用して2つのテーブル(EtaとVoyage)のデータを表示していますが、私はviewmodelの名前を 'EtaVoyage'として使用しています。このクエリを使用すると、 追加情報:オブジェクト参照がオブジェクトのインスタンスに設定されていません。オブジェクト参照がmvc5で設定されていません
var Test = db.Etas.AsEnumerable().Select(v => new EtaVoyage()
{
ShippingAgent = v.ShippingAgent,
VesselInformation = v.VesselInformation,
Port = v.Port,
CPort = v.CPort,
EtaDate = v.EtaDate,
GoodsCarried = v.VoyageDetails.FirstOrDefault().GoodsCarried,
VoyagePurpose = v.VoyageDetails.FirstOrDefault().VoyagePurpose
}).ToList();
return View(Test);
しかし、私はvoyagedetailsに関連した最後の2つのフィールドをコメントしたときに、それが正常に働いています。
var Test = db.Etas.AsEnumerable().Select(v => new EtaVoyage()
{
ShippingAgent = v.ShippingAgent,
VesselInformation = v.VesselInformation,
Port = v.Port,
CustomPort = v.CustomPort,
EtaDate = v.EtaDate,
// GoodsCarried = v.VoyageDetails.FirstOrDefault().GoodsCarried,
// VoyagePurpose = v.VoyageDetails.FirstOrDefault().VoyagePurpose
}).ToList();
return View(Test);
この2つの列もインデックスページに表示する必要があります。
今ではすべてのエラーを与えるdoesntの、しかし、2つのカラム(goodscarriedとvoyagepurpose:あなたの
AsEnumerable()
呼び出しは、単一のクエリにこれを最適化するから、LINQのツーSQLを停止しますが、私は、これは意図的であると仮定注意)が空です。 – user1543703'v.VoyageDetails'に含まれる内容を確認してください。外部キー参照テーブルの場合、参照されるコレクションにはマップされた行が含まれている必要があります。 –