1
を使用してLINQに照会しながら、リレーショナル表を参照してくださいすることができません:
1. TableAの(AID、名前、給与) - マスター表
2.テーブルB(BID、住所、 (AID、BID) - TableAとTableBの複合キーでマップされています私がしている私のデータベース内に3つのテーブル持っEF
ここで、これらのテーブルとエンティティフレームワークを使用してレコードを取得したいとします。
select cm.Name, proj.Address from TableA cm
inner join TableC pc on cm.AID = pc.AID
inner join TableB proj on pc.BID= proj.BID
私が私の文脈を照会すると、私はTableCを見ることができません。なぜこれが起こっているのか分かりません。私はLinqに自己結合を入れてみましたが、うまくいきませんでした。
本当にありがとうございます。
ありがとうございます。
------- EDIT --------
[XmlIgnoreAttribute()]
[SoapIgnoreAttribute()]
[DataMemberAttribute()]
[EdmRelationshipNavigationPropertyAttribute("context", "TableC", "TableA")]
public EntityCollection<TableA> TableAs
{
get
{
return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<TableA>("context.TableC", "TableA");
}
set
{
if ((value != null))
{
((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<TableA>("context.TableC", "TableA", value);
}
}
}
[XmlIgnoreAttribute()]
[SoapIgnoreAttribute()]
[DataMemberAttribute()]
[EdmRelationshipNavigationPropertyAttribute("context", "TableC", "TableB")]
public EntityCollection<TableB> TableBs
{
get
{
return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection<TableB>("context.TableC", "TableB");
}
set
{
if ((value != null))
{
((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<TableB>("context.TableC", "TableB", value);
}
}
}
ありがとうございました。私はこの解決策を試みましたが、lambdaの上に書いているときにa.Addresses式を見つけることができませんでした。私は信じています.Includeは文字列形式のテーブル名だけを意味するリレーショナルテーブル名を参照します。 – Akash
@Akashファイルの先頭に 'using System.Data.Entity;'を配置してみてください。 –
上記の名前空間を入れてみましたが、うまくいきません。 – Akash