これを見つけたとき、問題の解決策を見つけたと思いましたが、うまくいきませんでした。
デバッグ モードで実行するとWcfTestClient
、データが取得されず、次のエラーが表示されます。
A first chance exception of type 'System.NotSupportedException' occurred in System.Data.Entity.dll
The thread '<No Name>' (0x1b50) has exited with code 0 (0x0).
The program '[7040] WCFTestClient.exe: Managed (v4.0.30319)' has exited with code 0 (0x0).....................................
データを取得するのは次のメソッドです。
public List<WShortDeal> Test()
{
try
{
return entities.ProductInstance_Deal
.Select(d => new WShortDeal()
{
Id = d.Deal.Id
// ,
// Name = d.Deal.Deal_Language.SingleOrDefault(l => l.Language.Id == 1).Name**
,
NewPrice = (double)d.ProductInstance.Price * (1 - d.Deal.SalesPercentage / 100)
,
OldPrice = (double)d.ProductInstance.Price
,
Valuta = d.ProductInstance.Valuta.ValutaCode
,
Type = d.Deal.Type
,
IdCompanyAccount = d.ProductInstance.IdCompanyAccount
})
.ToList();
}
catch (Exception)
{
return null;
}
}
ただし、現在コメントアウトされている 2 行のコメントを解除すると、データの受信が停止し、出力ウィンドウに上記のエラー メッセージが表示されます。
また、この行を追加すると
,ProductCategory = d.ProductInstance.ProductType.ProductCategory.ProductCategory_Language.Where(pcl => pcl.IdLanguage == idLanguage).Single().Name
線の代わりに
, Name = d.Deal.Deal_Language.SingleOrDefault(l => l.Language.Id == 1).Name
元の SELECT ステートメントに対しても、データは返されません。したがって、言語テーブル (??) との多対多の関係を表すすべてのテーブルと関係があるのではないかと思います。「ProductCategory_Language」テーブルとの結合を忘れたときはいつでも、データを再度取得できるからです。
誰か助けてくれませんか?私の問題に対する別の解決策はありますか?私は今、この問題に何日も苦労しています:(事前に感謝します。