我们的团队最近将我们的数据库从SQL Server 2008升级到SQL Server 2012.我们注意到的一个重大变化是SELECT语句返回的行的默认顺序,即未指定显式ORDER BY子句时.
根据MSDN,除非指定了ORDER BY子句,否则SQL Server 2012不会保证返回的行的顺序.
我们在5个数据库中有2500多个存储过程,这些数据库具有没有ORDER BY子句的SELECT语句,并且手动添加ORDER BY子句以匹配SQL Server 2008中的行为将是一项相当大的工作.是否有设置或更快的方法这个?
另一个尚未探索的选项是降级到SQL Server 2008.这有多难?
sql sql-server database-migration sql-server-2008 sql-server-2012
在我的VB.NET源代码中,我无法实现100%的代码覆盖率"catch with rethrow"块.我的工作场所IDE是Visual Studio 2010 Ultimate.下面的例子代表了我实际问题的简化版本.
C#中的来源:(浅蓝色背景表示完整的代码覆盖率)

VB.NET中的等效源:(黄色背景表示部分代码覆盖)

适用于C#和VB.NET源的MSTests(旨在实现100%的代码覆盖率)

代码覆盖率报告

代码覆盖率报告显示C#为100%,而VB.NET仅为91.67%.它还显示了1块代码,其中0行在VB.NET中被发现.
这是工具的问题吗?还是我错过了一些明显的东西?
编辑#1:按照@Raptor的要求共享源代码
C#中的源代码
public class CodeCoverage
{
public void DoWork(bool flag = false)
{
try
{
Thread.Sleep(1);
if (flag)
{
throw new Exception("test");
}
}
catch (Exception ex)
{
throw new Exception(string.Format("something happened: {0}", ex.Message));
}
}
}
Run Code Online (Sandbox Code Playgroud)
VB.NET中的源代码
Public Class CodeCoverage2
Public Sub DoWork(Optional ByVal flag As Boolean = False)
Try
Thread.Sleep(1)
If flag Then
Throw New Exception("test")
End If
Catch ex As Exception
Throw New Exception(String.Format("something …Run Code Online (Sandbox Code Playgroud) 我已经看到 BindableAttribute 用于装饰自定义控件中的公共属性。
MSDN简单提到它提供了在设计时控制绑定方向以及是否支持绑定的能力。
public class MyControl : Panel
{
[Bindable(BindableSupport.No, BindingDirection.OneWay)]
public string MyString { get; set; }
}
var myControl = new MyControl();
var myString = myControl.MyString;
Run Code Online (Sandbox Code Playgroud)
问题:
1) 我设置BindableSupport为“否”,但我仍然可以在标记 (.aspx) 中执行此操作。BindableSupport那有什么影响呢?它是否隐藏工具箱中的属性?
<cc:MyControl runat="server" MyString="something" />
Run Code Online (Sandbox Code Playgroud)
2) 单向绑定和双向绑定如何在自定义控件和 ASP.NET 上下文中工作?
将不胜感激任何意见。
我使用此代码从当前表单打开一个新表单:
private void add_Click(object sender, EventArgs e)
{
add obj = new add();
obj.Show();
}
private void welcome_FormClosed(object sender, FormClosedEventArgs e)
{
Application.Exit();
}
private void view_Click(object sender, EventArgs e)
{
view obj = new view();
obj.Show();
}
private void update_Click(object sender, EventArgs e)
{
update obj = new update();
obj.Show();
}
private void delete_Click(object sender, EventArgs e)
{
delete obj = new delete();
obj.Show();
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如果我打开任何表格,那么以前的表格也照常工作。我希望如果一个表单处于打开状态,那么所有其他以前的表单都会被关闭或禁用,并且在上一个按钮的单击事件中听起来像蜂鸣声。