小编Bru*_*lza的帖子

出现暂时性错误时重试 LINQ to SQL 查询

重写 System.Data.Linq.DataContext.SubmitChanges(ConflictMode failureMode) 方法很方便,以便在插入、更新或删除记录时发生暂时性错误(例如死锁或超时)时重试。

\n\n

我的问题是,是否有一个类似的函数可以在执行 LINQ to SQL 查询时被重写来处理此类错误?我\xe2\x80\x99m 猜测/希望 DataContext 类中有一个方法可以对数据库进行实际调用,并且可以覆盖该方法以执行重试。

\n\n

我见过的示例\xe2\x80\x99(如下所示)通常将 LINQ 表达式和枚举它的方法调用包装在重试块中:

\n\n
try\n{\n    e.Result = retry.ExecuteAction(() =>\n        {\n            Deadlock(); // Artificially create a deadlock condition\n\n            CustomerOrdersDataContext ctx = new CustomerOrdersDataContext();\n            ctx.Connection.ConnectionString = builder.ConnectionString;\n            ctx.CommandTimeout = 3;\n\n            var results = from c in ctx.customers\n                            from o in c.orders\n                            from i in o.order_items\n                            select new { c.lname, c.fname, i.product.product_name, i.quantity };\n\n            return results.ToList();\n        });\n}\ncatch (SqlException ex)\n{\n    MessageBox.Show(ex.Message, "SqlException");\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

}

\n\n

(来自http://social.technet.microsoft.com/wiki/contents/articles/retry-logic-for-transient-failures-in-sql-azure.aspx

\n\n

I\xe2\x80\x99m …

c# linq-to-sql

5
推荐指数
1
解决办法
1551
查看次数

几个插件性能c#

我在一张桌子上做了几次插入.现在,我已经迭代了一个对象列表,对于每个对象,我使用insert语句执行ExecuteNonQuery.

我想知道是否有紧固的方法来做到这一点.这样,插入800个寄存器需要几分钟.

我在Java中使用了executeBatch方法,对于这个提议,c#中有类似的东西.

问候 !

c# database

4
推荐指数
1
解决办法
161
查看次数

如何将自定义掩码应用于Python中的数字字符串?

给定一个自定义掩码,##/##/####或者(###) ###-####是一串数字,其长度等于#自定义掩码的数量,

如何定义一个format将自定义掩码应用于字符串的函数?

例如:

> format('##/##/####','13082004')
13/08/2004
Run Code Online (Sandbox Code Playgroud)

PHP中我可以vsprintf用来实现这个目的:

function format($mask,$string)
{
    return  vsprintf($mask, str_split($string));
}

$mask = "%s%s.%s%s%s.%s%s%s/%s%s%s%s-%s%s";
echo format($mask,'11622112000109');
11.622.112/0001-09
Run Code Online (Sandbox Code Playgroud)

我尝试使用运算符与Python类似%

mask = '%s%s/%s%s/%s%s%s%s'
mask % ', '.join(list('13082004'))
Run Code Online (Sandbox Code Playgroud)

但,

TypeError:没有足够的格式字符串参数,格式字符串的参数不够

我知道为什么我会收到此错误,但可以通过这一点.欢迎任何解决方案.

php python masking

4
推荐指数
1
解决办法
3539
查看次数

如何在MATLAB和WolframAlpha中计算函数与自身的卷积?

我正在尝试计算卷积

x(t) = 1, -1<=t<=1
x(t) = 0, outside
Run Code Online (Sandbox Code Playgroud)

与自己使用定义.

http://en.wikipedia.org/wiki/Convolution

我知道如何使用Matlab函数转换,但我想使用积分定义.我对Matlab和WolframAlpha的了解非常有限.

matlab wolfram-mathematica wolframalpha

3
推荐指数
1
解决办法
2万
查看次数