別のテーブルで選択した行から列を合計する計算列を効果的に追加したいと思います。合計を再計算せずに、計算列の値をすばやく取得して検索する必要があります。
追加したい計算列は、Dream-SQL では次のようになります。
ALTER TABLE Invoices ADD Balance
AS SUM(Transactions.Amount) WHERE Transactions.InvoiceId = Invoices.Id
もちろん、これはうまくいきません。私の理解では、別のテーブルを参照する計算列を追加することはできません。ただし、インデックス付きビューにはそのような列を含めることができるようです。
このプロジェクトは、Entity Framework Code First に基づいています。アプリケーションは、ゼロ以外の残高をすばやく見つける必要があります。
インデックス付きビューを使用すると仮定すると、それを Invoices および Transactions テーブルと統合して LINQ to Entities で簡単に使用できるようにする最善の方法は何ですか? インデックス付きビューには、Invoices テーブルのすべての列を含める必要がありますか?それとも残高 (保持されるもの) だけを含める必要がありますか? 推奨されるビューとインデックスを作成するための SQL のコード スニペットが役立ちます。