2011-08-24 1 views
1

テーブルを管理するのは簡単であるため、テーブルを別の.sdfファイルに保存します。バックアップされたdbファイルのみが変更され、将来のdbサイズが大きくなる可能性があり、4GBの制限があります。SQLCE:C#でプログラムによって異なるSQLCEデータベースのテーブルを結合する方法は?

テーブルに参加する必要があります。これは初めてのLINQ-試みです。私はたくさんの例/文書があることを知っていますが、簡単な例は始めるのがいいでしょう。

これは、MS SQL Serverのクエリです:

SELECT personID, personPin, personName, seenTime 
FROM db1.personList 
LEFT JOIN db2.personAttendances on personID = seenPersonID 
ORDER BY seenTime DESC 
+0

LINQは必須ではありません。可能であれば、データセットを使用できます。まだコードスニペットが見つかりませんでした。私は、dbからデータセットへのクエリをロードし、データセットに参加させると思います。 –

答えて

2

私はLINQを使用すると、2つの異なるコンテキスト間で照会しているとして進むべき道になると思います。 http://msdn.microsoft.com/en-gb/vcsharp/ee908647

何かのように:私はSQLCEは、DB(SQL)レベルでの連携をサポートしていないと思います

var q = from c in db1Context.personList 

     join p in db2Context.personAttendances on c.personID equals p.seenPersonID 

     select new { Category = c, p.ProductName }; 
+0

見た目はOKですが、テストしましたか?私はLinq(SQL | EF)がこれを処理できるかどうかはわかりません。これから何か(通常は1)のSQLクエリを生成しようとしています。 –

+0

私は何度か似たようなことをやったことがあります。これはメモリ結合であり、SQL結合を生成しません。 (技術的にもっと多くのLINQオブジェクトをhttp://msdn.microsoft.com/en-us/library/bb397919.aspx) – Doobi

+0

+ http://msdn.microsoft.com/en-us/library/bb397895.aspx –

1

LINQは非常に簡単です参加します。

つまり、Linq-to-Objectsを使用する必要があります。サンプルのクエリにはWHERE句がないので、テーブル全体をListにロードするだけです。しかし、データセットが大きくなるとそれは受け入れられないかもしれません。

+0

私は、 WHERE句を追加します。 –

関連する問題