0

1つのテーブル(「トランザクション」エンティティ)と1つのビュー(「請求書」エンティティ)を含む単純なLightswitchアプリケーションを作成しようとしています。この場合、Invoicesビューは、Transactions.InvoiceIdでグループ化することにより、Transactionsテーブルから生成されます。次に、ビューは1対多の関係を介してテーブルを参照します。たとえば、請求書はトランザクションのナビゲーションプロパティとして表示され、トランザクションは請求書のナビゲーションプロパティとして表示されます。新しいトランザクションを作成して保存しようとするまで、すべてが100%完全に機能します。保存すると、Lightswitch内の検証ルールが起動し、「請求書:参照された請求書が設定されていないか存在しません」と表示されます。請求書が存在しないのは正しいことです。保存しようとしているトランザクションは、新しい請求書の最初のトランザクションになります。

現在、Savingイベントを処理し、自分のDataWorkspaceでトランザクションを手動で作成することでこの問題を回避していますが、これはハックのように感じられ、Transactionエンティティの他のフィールドに対してLightswitchの組み込みの検証を使用できません。

Lightswitchに請求書ナビゲーションプロパティの検証をスキップするように指示して、他のプロパティはそのままにしておく方法はありますか?または、私がやろうとしていることを達成できる他の方法はありますか?

4

1 に答える 1

0

あなたが言及する Saving イベントは Invoice_Saving メソッドですか?

あなたの関係は、請求書の「トランザクション」ナビゲーション プロパティを提供します。これが新しいトランザクションを作成する方法です。Incoice_Saving メソッドに以下を追加します。

VB: Me.Transactions.AddNew()

C#: this.Transactions.AddNew();

そのようにすれば、請求書がまだ保存されていなくても問題ありません。保存プロセス中にすべて処理されます。

于 2012-06-30T06:45:08.147 に答える