2012-05-02 4 views
0

次の問題があります。 WithまたはWithMany命令 を使用して、 外部結合を使用してビジネスリレーションのロールのリンクリストを取得しようとしています。参照整合性はデータベース上にありますが、 ロールテーブルの主キーは複合キーです。それ以外の場合は 例外が発生するので、私はOuterJoin節を使用する理由は です。SimpleListまたはSimpleRecordが空であるかどうかを確認する方法

クエリが実行されると、期待どおりの結果が得られ、 データがうまく埋められます。それにもかかわらず、 データベースにまだロールが存在しない場合があります。だから、私は が返されたSimpleList(下のロール)は nullであると考えています。データがないためです。代わりにSimple.Dataは SimpleLIstを返し、デバッグ時に動的ビューを展開すると、 '空:このオブジェクトに関する詳細情報が見つかりませんでした'というメッセージが返されます。 さらにトラバースして、 SimpleList、それも、デバッグ中に上記と同じ情報 でSimpleRecordを返します。私はSimpleRecord のプロパティを要求した後にのみ、私はそれはnullを返します ため、レコードが空だったこといくつかの情報を取得します。

を来るために一番下の行に... SimpleListまたはSimpleRecordが空であるかnullであるかどうかを確認する方法を教えてくれる人は誰ですか? tra階層を逆さにする?私はSimple.Data 0.16.1.0を使用しています

以下

がコードです...一部始終を読み取るため、事前に

感謝を(原因ポリシーに私はまだ ベータ版を使用することはできません)サンプル:

dynamic businessRelationRoles; 

var query = db.Zakenrelaties.As("BusinessRelations") 
    .All() 
    .OuterJoin(db.Zakenrelaties_Rollen.As("Roles"), out businessRelationRoles) 
    .On(zr_ID: db.Zakenrelaties.zr_ID) 
    .With(businessRelationRoles); 

foreach (var relation in query) 
{ 
    //Get the SimpleList as IEnumerable 
    IEnumerable<dynamic> roles = relation.Roles; 

    //Get the first available SimpleRecord 
    var role = roles.First(); 

    //Check if any record was returned..This passes always?? Even if the SimpleList was empty 
    if (role != null) 
    { 
     //Get the id of the role. returns null if SimpleRecord was empty 
     var roleId = role.zrro_id; 
    } 
} 

私を助けることができる誰もがありますか?

答えて

2

これはバグで、0.17(別名1.0-RC0)リリースで修正されています。

+0

こんにちはマーク、とにかくあなたの情報/答えに感謝します。 –

関連する問題