[長いったらしい説明のために謝罪]カスタム機能
とDBに対して直接報告する必要があります。わかりませんが、これは私が発見した構造です:
私はグループテーブルとレポートテーブルを持っています。
グループtype
カラム、「R」または「G」、整数numElements
及び「R」elements
型と呼ばimage
列を持つグループレポートを含むことを意味する、「G」は、それが複数のグループを含むことを意味します。
type = 'G'
elements = 0x2C002600
numelements = 2
result = take chunks of 4 characters,
reverse the last and first two character pairs to get 002C and 0026
convert hex to int to get 44 and 38
44と38は2つのグループIDです。これはアプリケーション自体から確認できます。同じ
は、IDの結果として生じるが、レポート
私はいくつかの賢明なクエリを行うために始めることができるようにEF4 OR T-SQLでこの動作をマップする方法はあり
である「R」タイプに適用されますか?例:If type = G and numElements = 3
split the hex string into 3 chunks of 4 characters,
reverse character pairs,
convert to int,
map to Groups
If type = R and numElements = 11
split the hex string into 11 chunks of 4 characters,
reverse character pairs,
convert to int,
map to Reports
アプリケーション内で、私はそれらを手動でマッピングするために、グループを見ることができるもののので、グループの報告書と何百何千ものがありますが永遠にかかるだろう。ツリービューはありませんので、グループを開いてサブグループ(存在する場合)を開くなどしてください。
私はこれを手動でコーディングして、 split、reverse、convert ...しかし、T-SQLやEFを使って私にこれを行える方法があるのかどうか疑問に思っていましたか?
EDIT:多くのグループまたは1:多くの報告(ただし、それらの混合物)
注意してくださいグループが1を含めることができるので、numElementsは、変数です。したがって、16進数の文字列は常に: "0x" + "4 x numElements"の文字長が長い
これは、1つのグループになるように、「16進数int」関数が配列などを返す必要があることを意味します多くのグループ/レポートにリンクされています。
が、これはintの配列/リストを返すことができます。このセットは、合理的な方法に限定されている場合、あなたはまだのようなビューを作成することができますか? (SQLエキスパートではありません) – BlueChippy
テーブル関数を作成することはできますが、EFではこれを使用することはできません。 .Net 4.5の出荷時にテーブル機能をサポートします。したがって、そのテーブル関数をビューで使用し、モデル内でマップするようにしてください。 –
http://stackoverflow.com/questions/1545131/entities-adding-a-navigation-property-between-a-view-and-tableここで、テーブルとビューの間にナビゲーションプロパティを追加する方法 –