Hi Vlad,
I found some nuances in work of bundle LINQ and RadGrid. The table in MSSQL that I use in RadGrid has Image field. I do not use this field in RadGrid . When I set "Delay Loaded = true" for this field in LINQ designer then after updating other fields via grid the RadGrid or LINQ (I don't know which) erases this Image field. If I set "Delay Loaded = false" then no problem - I can update rows in grid and Image field untouched.
Here is LinqDataSource.
<asp:LinqDataSource ID="ProcesesLinqDataSource" runat="server" ContextTypeName = "HomeDepotWebApp.Classes.HDPortalDataContext" TableName = "Processes" EnableUpdate = "True" Where = "WBS.Contains(@WBSPart) && VendorName == @VendorName && CustomerStoreId == @CustomerStoreId && PONumber == @PONumber && SAPArticleNumber == @SAPArticleNumber" OnSelecting = "ProcesesLinqDataSource_Selecting">
<WhereParameters>
<asp:QueryStringParameter QueryStringField="WBSPart" Name="WBSPart" Type="String" />
<asp:ControlParameter ControlID="Vendor" Name="VendorName" PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="Store" Name="CustomerStoreId" PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="PONumber" Name="PONumber" PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="SAPArticleNumber" Name="SAPArticleNumber" PropertyName="Text" Type="String" />
</WhereParameters>
</asp:LinqDataSource>
Here is log from SQL Server Profiler (Delay Loaded = True)
| |
exec sp_executesql N'UPDATE [dbo].[Process]
SET [PackingSlip] = @p2, [QtyShipped] = @p3 |
WHERE ([ProcessId] = @p0) AND ([timestamp] = @p1)
|
SELECT [t1].[timestamp]
FROM [dbo].[Process] AS [t1]
WHERE ((@@ROWCOUNT) > 0) AND ([t1].[ProcessId] = @p4)',N'@p0 int,@p1 timestamp,@p2 image,@p3 int,@p4 int',@p0=3,@p1=0x000000000009EC49,@p2=NULL,@p3=2,@p4=3 |
| |
|
PackingSlip it is my Image filed.
Here is log from SQL Server Profiler (Delay Loaded = False)
| |
exec sp_executesql N'UPDATE [dbo].[Process]
SET [QtyShipped] = @p2 |
WHERE ([ProcessId] = @p0) AND ([timestamp] = @p1)
|
SELECT [t1].[timestamp]
FROM [dbo].[Process] AS [t1]
WHERE ((@@ROWCOUNT) > 0) AND ([t1].[ProcessId] = @p3)',N'@p0 int,@p1 timestamp,@p2 int,@p3 int',@p0=3,@p1=0x000000000009EC4A,@p2=22,@p3=3 |
|
|
So there is problem? In LINQ, in RadGrid or in Me?
Please help
Thanks