サブソニック フォーラムで次の質問をしましたが、回答が 1 つしかないようだったので、ここにも投稿して、誰かがこの問題にさらに光を当てることができるかどうかを確認したいと思いました...
Select ツール (または Query ツール) を使用して、SubSonic で次の SQL ステートメントを作成したいと考えています。これは、「SPLIT()」というカスタム関数を使用しています。
SELECT * FROM VwPropertyList
WHERE VwPropertyList.idCreatedBy = 123
AND VwPropertyList.idCounty = 45
AND 29 IN (SELECT Item FROM SPLIT(DistrictGroupList, ','))
(この SQL の最後の部分では SPLIT 関数を使用しています)
私の亜音速の同等物は次のようになります...
Dim mySelect As New SubSonic.Select
mySelect.From(VwPropertyList.Schema)
mySelect.Where(VwPropertyList.Columns.IdCreatedBy).IsEqualTo(123)
mySelect.And(VwPropertyList.Columns.IdCounty).IsEqualTo(45)
mySelect.And(29 .In(New SubSonic.Select("Item").From("SPLIT(" & VwPropertyList.Columns.DistrictGroupList & ", ',')"))
これは最後の部分のために機能しません..「AND 29 IN (SELECT Item FROM SPLIT(DistrictGroupList, ','))」を Subsonic.Select に追加するにはどうすればよいですか?
subsonic フォーラムから得た応答は、Subsonic.Select を廃止し、ハードコーディングされた InlineQuery() ステートメントに置き換えることを提案しました..のように:
Dim SQL as String = "Select " & VwPropertyList.Columns.Item
SQL = SQL & " From " & VwPropertyList.Schema.TableName
SQL = SQL & " Where " & VwPropertyList.Columns.IdCreatedBy & " = @CreatedBy "
SQL = SQL & " And " & VwPropertyList.Columns.IdCounty & " = @County "
SQL = SQL & " And @DistrictGroup IN (Select Item From SPLIT(DistrictGroupList,',')"Items = SubSonic.InlineQuery().ExecuteTypedList(Of MyItem)(SQL, 123,45,29)
ページング機能などを利用できるように、可能であれば SubSonic.Select を使用したいと思います。
何か案は?