当我发现这个时,我以为我找到了解决问题的方法,但它对我不起作用。
当我在调试模式下运行时,我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;
}
}
但是,如果我取消注释现在已注释掉的两行,我将停止接收数据并在我的输出窗口中收到上述错误消息。
另外,如果我添加此行
,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”表的连接时,我都可以再次检索数据。
有人可以帮忙吗?我的问题还有其他解决方案吗?这几天我一直在努力解决这个问题:(提前谢谢。