2016-04-09 5 views
1

エンティティにLINQを使用して、テーブルからレコードを取得し、別のテーブルから関連レコードを取得します。ここでテーブルからレコードを取得し、エンティティにLinqを使用して関連するテーブル

は関係を持つ私のテーブルです:

enter image description here

そしてここでは、センサーの測定と関連テーブルのアラートの説明からレコードを取得するために、エンティティに私のLINQです。私は上記のエラーを取得し、どのようにそれを修正するために、なぜ

A specified Include path is not valid. The EntityType 'SensorObservationModel.AlertsDescription' does not declare a navigation property with the name 'AlertDescription'. 

任意のアイデア:

public IEnumerable<SensorsMeasure> GetSensorsMeasureWithAlertDescription() 
{ 
    return SensorObservationEntities.SensorsMeasures.Include(d => d.AlertsDescription.AlertDescription).ToList(); 
} 

しかし、クエリの

私はこのエラーを取得する上で?

答えて

2

これは、AlertDescriptionがのナビゲーションのAlertsDescriptionタイプのプロパティではないためです。これは通常のプロパティなので、含める必要はありません。どうすればいいですか:

public IEnumerable<SensorsMeasure> GetSensorsMeasureWithAlertDescription() 
{ 
    return SensorObservationEntities.SensorsMeasures.Include(d => d.AlertsDescription).ToList(); 
} 
+0

AlertsDescriptionテーブルからアラートの説明プロパティを取得するにはどうすればよいですか? – Michael

+0

SensorsMeasureオブジェクトのAlertsDescription.AlertDescriptionプロパティにアクセスするだけです。あなたはAlertsDescriptionにIncludeをロードしたので、すべてのプロパティにアクセスすることができます(もちろんSensorsMeasureがAlertsDescriptionを関連付けていると仮定します)。 – Evk

+0

あなたはちょっと混乱しているようですが通常のプロパティ、しかし、そうではありません - すべてのEFエンティティは、何があっても、常にロードされているすべての通常のプロパティを持ちます。ナビゲーションプロパティをロードするかどうかは、Includeを使用して制御できます。 – Evk

関連する問題