私は2つのテーブルを持っています
表 A:
TableAID int,
Col1 varchar(8)
表 B:
TableBID int
Col1 char(8),
Col2 varchar(40)
2 つのテーブルで SQL クエリを実行すると、次の行数が返されます
SELECT * FROM tableA (7200 rows)
select * FROM tableB (28030 rows)
col1 で結合してデータを選択すると、次の行数が返されます
select DISTINCT a.Col1,b.Col2 FROM tableA a
join tableB b on a.Col1=b.Col1 (6578 rows)
上記の 2 つのテーブルは異なるデータベースにあるため、2 つの EF モデルを作成し、データを個別に再試行し、次の関数で linq を使用してコードに結合しようとしました。驚くべきことに、6578 レコードではなく 2886 レコードが返されます。私は何か間違ったことをしていますか?個々のリストは正しいデータを返すようですが、SQL クエリと linq クエリを結合すると、レコード数が異なります。
これに関するヘルプは大歓迎です。
// This function is returning 2886 records
public List<tableC_POCO_Object> Get_TableC()
{
IEnumerable<tableC_POCO_Object> result = null;
List<TableA> tableA_POCO_Object = Get_TableA(); // Returns 7200 records
List<TableB> tableB_POCO_Object = Get_TableB(); // Returns 28030 records
result = from tbla in tableA_POCO_Object
join tblb in tableB_POCO_Object on tbla.Col1 equals tblb.Col1
select new tableC_POCO_Object
{
Col1 = tblb.Col1,
Col2 = tbla.Col2
};
return result.Distinct().ToList();
}