TestMethod
データコンテキスト内のテーブルを列挙し、各テーブルから1つのレコードを読み取ろうとするを作成しようとしています。テストの目的は、.dbmlファイルが基盤となるデータベースと同期していることを確認することです。私がこれまでに持っているもの:
[TestMethod]
public void TestDataContextTables()
{
using ( MyDataContext dataContext = new MyDataContext() )
{
int count = 0;
IEnumerable<MetaTable> tableList = dataContext.Mapping.GetTables();
foreach ( MetaTable table in tableList )
{
Debug.Print( "Testing " + table.TableName + "..." );
// method to restore >= 1 record using LINQ...
//Object dummy = from t in dataContext.Mapping.GetTables().Skip( count ).Take( 1 ) select t; <-- wrong (1)
//Object dummy = from t in dataContext.Mapping.GetTable( table.RowType.GetType() ) select t; <-- also wrong (2)
//Object dummy = from t in dataContext.Mapping.GetTable( table.RowType.GetType() ).GetType() select t; <-- also wrong (3)
Debug.Print( "OK\n" );
count++;
}
}
}
LINQステートメント(1)は、実際のデータを読み取っていないようです。LINQステートメント(2)は、コンパイル時エラー「ソースタイプ'MetaTable'のクエリパターンの実装が見つかりませんでした」を示し、(3)エラー「ソースタイプのクエリパターンの実装が見つかりませんでした」を示します。 'システムタイプ'"。後者の2つは、何かを参照する必要があるときに、メタ何かを参照していることを示しています。
私が探しているのはDataContext
、LINQステートメントで各テーブルを参照し、各レコードから行を返して、SELECT
そのLINQが基になるデータベースでジャイブを生成するようにする方法です。