我正在尝试创建一个简单的 Lightswitch 应用程序,其中包含一个表(“事务”实体)和一个视图(“发票”实体)。在这种情况下,Invoices 视图是通过 Transactions.InvoiceId 分组从 Transactions 表生成的。然后视图通过一对多关系引用表,这样 Invoice 在 Transaction 上显示为导航属性,而 Transactions 在 Invoice 上显示为导航属性。一切都 100% 完美运行,直到我尝试创建新事务并保存它,此时 Lightswitch 中的验证规则会触发“发票:引用的发票未设置或不再存在”。发票不存在是正确的——我要保存的交易将是新发票的第一个。
目前,我正在通过处理 Saving 事件并在我自己的 DataWorkspace 中手动创建 Transaction 来规避这个问题,但这感觉就像是 hack,并且不允许我针对我的 Transaction 实体中的其他字段使用 Lightswitch 的内置验证。
有什么办法可以告诉 Lightswitch 跳过对 Invoice 导航属性的验证,但保持其他属性不变?或者还有其他方法可以完成我想做的事情吗?