0
我試圖使用lightswitch的一般方法(即更新)來保存實體數據。以下是以下代碼。我無法弄清楚我缺少的東西。代碼或用戶界面中沒有錯誤。它只是沒有得到保存。Lightswitch Updating()方法不保存數據庫中的任何數據
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()。機會是你的實際DataSource不可更新。你應該做的第一件事是驗證數據庫中的每個表都有一個PrimaryKey。然後驗證所有的外鍵是否定義回PrimaryKey。然後更新你的lightswitch數據源。然後刪除上面的更新方法,因爲它實際上沒有做任何事情。 – Kris
Hi @Kris我的數據源是可更新的。我已經證實,我的數據庫中的每個表都有一個PK。所有的FK都被定義回PK。我已經更新了LS數據源。但我無法刪除更新方法。因爲我正在嘗試將數據直接保存到View中。我的視圖中的TimeDataExpires屬性需要以這種方式保存數據。您可以請我建議我如何添加C#代碼,以便能夠更新實體上的數據 –
HI @Kris,如果我刪除DiscardChanges()行,那麼這會給我一個錯誤,說「更新或插入視圖或函數'dbo.viewFamilyProcessData'失敗,因爲它包含派生或常量字段。「 –