データベースに edmx にマップされたテーブルがいくつかあります。エンティティ フレームワークを使用してこれらのテーブルからデータを返すと、上位レベルのデータ モデルの 1 つからの "name" 列の値がその下の各モデルに入力されるという問題が発生しました。
私はこのようなデータを引っ張っています:
var query = (from a in context.things
where a.id == 1
select a);
var model = query.Select(a => new modelA()
{
Name = a.name,
Bs = a.Bs.Select(b => new modelB()
{
Name = b.name,
Cs = b.Cs.Select(c => new modelC()
{
Name = c.name,
Ds = c.Ds.Select(d => new modelD()
{
Name = d.name
})
})
})
}).FirstOrDefault();
b.name、c.name、および d.name はすべて、データベースがこれらのテーブル全体で異なる値を持っているにもかかわらず、a.name と同じ値を返しています。
これはキャッシングの問題でしょうか?
アップデート
mySql コネクタを最新バージョン (6.7.4.0) にアップグレードした後も、まだエラーが発生します。
アップグレード後、名前列のデータが再表示される前に、3 レベル深く取得できるようです :(