0
ライトスイッチの一般的な方法を使用してエンティティデータを保存しようとしています。これは更新中です。以下は、以下のコードです。私は何が欠けているのか理解できません。コードまたはUIにエラーはありません。何も救われないだけです。Lightswitch Updating()メソッドはDBにデータを保存しません
partial void viewFamilyProcessDatas_Updating(viewFamilyProcessData entity)
{
var AutoAddMissingListing = entity.AutoAddMissingListing;
var AutoAddOddLots = entity.AutoAddOddLots;
var DefaultFilterValue = entity.DefaultFilterValue;
var ExcludeZeroNumberOfUnits = entity.ExcludeZeroNumberOfUnits;
//objFamilyProcessData.FamilyID = entity.FamilyID;
var IgnoreForPricing = entity.IgnoreForPricing;
var LimitEndDate = entity.LimitEndDate;
var OffsetFromMaxAsAtDate = entity.OffsetFromMaxAsAtDate;
var PrefilterConstituents = entity.PrefilterConstituents;
var TimeDataExpires = entity.TimeDataExpires;
entity.AutoAddMissingListing = AutoAddMissingListing;
entity.AutoAddOddLots = AutoAddOddLots;
entity.DefaultFilterValue = DefaultFilterValue;
entity.ExcludeZeroNumberOfUnits = ExcludeZeroNumberOfUnits;
entity.IgnoreForPricing = IgnoreForPricing;
entity.LimitEndDate = LimitEndDate;
entity.OffsetFromMaxAsAtDate = OffsetFromMaxAsAtDate;
entity.PrefilterConstituents = PrefilterConstituents;
entity.TimeDataExpires = TimeDataExpires;
//this.DataWorkspace.SolaDBServerData.Details.DiscardChanges();
entity.Details.DiscardChanges();
}
あなたが実際に何もしていない、プラスあなたは()DiscardChangesを呼んでいます。実際のデータソースは更新可能ではない可能性があります。まず、データベース内のすべてのテーブルにPrimaryKeyがあることを確認する必要があります。次に、すべてのForeignKeysがPrimaryKeyに戻って定義されていることを確認します。その後、ライトスイッチのDataSourceを更新します。上記のUpdatingメソッドは、実際に何もしないので削除してください。 – Kris
こんにちは@Kris My DataSourceは更新可能です。私は自分のDB内のすべてのテーブルにPKがあることを確認しました。また、すべてのFKはPKに戻って定義されています。 LSデータソースを更新しました。しかし、私はUpdatingメソッドを削除することはできません。私はビューに直接データを保存しようとしているからです。私のビューのTimeDataExpiresプロパティは、このようにデータを保存する必要があります。エンティティ上のデータを更新できるようにC#コードを追加するにはどうすればいいですか? –
HI @Kris、DiscardChanges()行を削除すると、「ビューの更新または挿入関数 'dbo.viewFamilyProcessData'が派生フィールドまたは定数フィールドを含むために失敗しました。 –