2

そのため、同様の質問があまり答えられずに行われています。

ブランチテーブルに関連する統計テーブルがあります。統計レコードには、特定の銀行支店のPC統計が含まれています。

Branch
+Code
+Name
+Area
...

Stats
+BranchCode
+IP
+UpSpeed
+DownSpeed
...

これが私のlinqクエリです...

var stats = from st in store.Stats
                        join b in store.Branches on st.BranchCode equals b.Brcd
                        select new
                        {
                            st.ID,st.IP,st.Name,b.Brcd,b.Branch_Name..............
                        };

問題はstとbにたくさんのフィールドがあることです、今のところ私はそれらすべてを入力すると思います...しかしこれに対する解決策はありませんか?*すべてのフィールドの入力を防止します...ワイルドカードのようなものですか?

交差させてみましたが、タイプは同じである必要があります!

ありがとうギデオン

4

1 に答える 1

1

1

var stats =
  from st in store.Stats 
  join b in store.Branches on st.BranchCode equals b.Brcd 
  select new 
  { 
    Stats = st,
    Branch = b
  };

1つの統計と1つのブランチで匿名インスタンスを作成します。


2

var stats =
  from b in store.Branches
  join st in store.Stats 
    on b.Brcd equals st.BranchCode
    into branchstats
  select new 
  { 
    Branch = b
    Stats = branchstats
  };

1つのブランチとその統計を使用して匿名インスタンスを作成します。


3

var stats =
  from b in store.Branches
  select new 
  { 
    Branch = b
    Stats = b.Stats
  };

2と同じです。デザイナで2つのタイプの間に関連付けがある場合、各タイプで生成されたリレーショナルプロパティがあります。


4

DataLoadOptions dlo = new DataLoadOptions()
dlo.LoadWith<Branch>(b => b.Stats);
store.LoadOptions = dlo;

List<Branch> branches = store.Branches.ToList();

ここでは、ブランチがロードされたときにStatsプロパティに自動的に入力するDataLoadOptionsが指定されています。

于 2010-06-19T13:55:31.407 に答える