有没有办法隐藏jqGrid表中的列,但是在表单编辑器模式对话框中编辑行时,它是否显示为只读?
我在C#中有一个非常简单的linq to sql查询:
int acctNum = 12345;
var query = from p in db.table
where p.ACCT_NO == acctNum
select p;
Run Code Online (Sandbox Code Playgroud)
这会生成以下SQL:
exec sp_executesql N'SELECT [t0].field1, [t0].field2, [t0].ACCT_NO
FROM [dbo].[table] AS [t0]
WHERE [t0].[ACCT_NO] = @p0', N'@p0 decimal(29,0)', @p0 = 12345
Run Code Online (Sandbox Code Playgroud)
出于某种原因,这需要相当长的时间才能运行(几分钟).如果我在管理工作室中运行等效查询(从表中选择*,其中acct_no = 12345),则在非常大的表(~7MM行)上花费不到一秒钟.在使用SQL分析器进行一些挖掘后,我发现linq将acctNum参数作为Decimal(29,0)传递,而字段作为Numeric(18,0)存储在数据库中.如果我采用生成的SQL并将参数类型从十进制更改为数字,则运行时间不到一秒.在分析器中,我可以看到linq版本使用了近200万次读取,而数字参数查询则使用了大约400次.如何强制linq将此参数作为数字而不是小数传递?