私は2つのテーブル:Data
とAdditionalData
を持っています。それらの関係は1対1である(Data
は0または1を持つことができる)AdditionalData
。スカラープロパティへの外部キーのマップ
class Data
{
public long Id {get;set;} // PK
public string Name {get;set;}
public AdditionalData AdditionalData {get;set;} // can be null
}
class AdditionalData
{
public long Id {get;set;} // PK
public string AdditionalName {get;set;}
}
これは正常に動作します:
メインコンテキストについては私はクラスを持っています。私はビューにマップすることができます
class ExtendedData
{
public long Id {get;set;} //PK
public string Name {get;set;}
public bool HasAdditionalData {get;set;}
}
:
SELECT
d.*
,IIF(ad.Id IS NULL, 0, 1) AS HasAdditionalData
FROM Data AS d
LEFT OUTER JOIN AdditionalData AS ad ON d.Id = ad.Id
をしかし、私が知りたい:
私はちょうどData
が
AdditionalData
を有するか否かを、知っておく必要があり、別のコンテキストのために
ExtendedData
クラスを追加のビューなしでテーブルにマップできますか?あなただけの投影の結果としてExtendedData
を使用して、[OKであれば以下のようなクエリは、あなたが探しているものかもしれません
はありません、第二文脈で私はちょうどチェックするために、AdditionalData'オブジェクトは(約1メガバイト)重いです 'と想像 – Backs