SQLセットアップに2つのビューがあります。
- 注文書
- PurchaseOrderLineItems
これらにはエイリアスされた多くの列があります(表示/結合するテーブルには意味のある名前が付けられていません...これはサードパーティ製品です)
私は2つのクラスを持っています(以下に簡略化されています)
class PurchaseOrder
{
public string PoNumber { get; set; }
public string Vendor { get; set; }
public DateTime DateCreated { get; set; }
public IEnumerable<PurchaseOrderLineItems> LineItems { get; set; }
}
と
class PurchaseOrderLineItems
{
public string PoNumber { get; set; }
public string Name { get; set; }
public double Price { get; set; }
}
Linq to Sqlを使用しています-XMLマッピングファイル(sqlmetal.exeの助けを借りて作成)
私がやりたいのは、PurchaseOrderLineItemビューからのレコードをPurchaseOrderのIEnumerableに効果的に入力することです-テーブルを効果的に結合します
POCOを使用してこれを実行したかったのですが、クラスにEntitySet <>を追加する必要はありませんでした。最終的には、ORMをnHibernate(バッグ属性があると思います...?)のようなものに変更します。
現在、ストアドプロシージャ(PONumberを取得してPurchaseOrderLineItemオブジェクトのリストを返すsp_getPurchaseOrderLineItems)があり、それを結果セットに追加します(これは理想からはほど遠いです)。
必要なことをする方法はありますか?つまり、基本的に、PurchaseOrderのクエリは、インスタンス内にすでに入力されているLineItemsのIEnumerableを返しますか?
これは読み取り専用であり、これを使用してデータを挿入/更新することは決してありません。