0
:db4o:SODAクエリのLINQに相当しますか? db4oの、私は次のようSODAを生成LINQコードを見つけようとしているために
var query = db4o.db.Query();
query.Descend("Symbol");
query.Descend("_symbolGlobal").Constrain("APPLE");
query.Descend("_date"); // Add a date constraint here.
IObjectSet result = query.Execute();
すべてSODAんが、エンドノードへのツリーのドロップダウンです。たとえば、「2010-10-18」の日付に「APPLE」を選択する場合は、「木曜日にApple」を返します。
データ構造:
Root ----Symbol (APPLE)
| |------Day 1: Date: 2010-10-18, string "Apples on Thursday"
| |------Day 2: Date: 2010-10-19, string "Apples on Friday"
|
|
|-----Symbol (PEAR)
|------Day 1: Date: 2010-10-18, string "Pears on Thursday"
|------Day 2: Date: 2010-10-19, string "Pears on Friday"
ここで(すなわち、そのすべての組み合わせを見て)そのクロス製品を得るように動作しません。私の最初の試みは、あります。 db4oはオブジェクトデータベースであり、RDBMSのように各オブジェクトのIDにアクセスできないため、結合を使用することはできません。
var stringForDayAndSymbol = from s in db4o.db.Query<Symbol>(a => a.SymbolGlobal == "APPLE")
from t in db4o.db.Query<Date>(b => b.Date == new DateTime(2010, 10, 20))
select new
{
s.SymbolGlobal,
t.Date,
t.Meta
};
IListでインスタンス化されたもののようなオブジェクトの集合に変換すると、それは機能しません(コレクションはSODAには見えません)。 – Contango
ええと、私はコレクションの操作がLINQでも使えるはずだと思います。 s.SymbolGlobal.Contains( "Apple")と同様です。 – Gamlor