LINQ选择实体引用的引用?

时间:2011-07-04 02:35:52

标签: linq entity-framework select

我在SQL Express数据库中有一个用于电信交换的三个实体层次结构,我正在使用实体框架在其上运行一些LINQ查询。

Exchange位于SubRegionRegion。显然,我在Exchanges关系中也有一个隐含的Region

(Exchange) *...1 (SubRegion) *...1 (Region)
           *.....................1

有时,用户希望查看区域或子区域中的所有交易所。当我使用以下LINQ查询时,我得到一个例外。

Data.Region region = regionComboBox.SelectedItem as Data.Region;

var esas = from esa in JITScheduleContainer.Exchanges
    where esa.SubRegion.Region == region
    select esa;

exchangeComboBox.Items.AddRange(esas.ToArray());

例外:

  

无法创建常量值   输入'CpasJitScheduler.Data.Region'。   只有原始类型('如Int32,   支持String和Guid')   这个背景。

我需要做EF模型中的任何内容,还是以父母的父对象引用其他方式?

1 个答案:

答案 0 :(得分:1)

我忘记了我可以使用int Id字段进行比较。结果LINQ语句:

Data.Region region = regionComboBox.SelectedItem as Data.Region;

var esas = from esa in Container.Exchanges
           where esa.SubRegion.Region.Id == region.Id
           select esa;

exchangeComboBox.Items.AddRange(esas.ToArray());