小编bde*_*n20的帖子

如何使用resharper重构来创建一个使用对象初始化器的对象不可变?

我有一些看起来像这样的摘要对象......

public class ObjectSummary : ISummary
{
     public int Id { get; set;}
     public string Name { get; set;}
     ...
     // other fields
}
Run Code Online (Sandbox Code Playgroud)

使用案例如下所示:

public ISummary Summarize()
{
    return new ObjectSummary
    {
        Id = _id,
        Name = _name,
        ....
        // etc with other fields
    };
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试重构所有这样的实例(使它们成为不可变的):

public class ObjectSummary : ISummary
{
    public ObjectSummary(int id, string name,..., /* other params*/)
    {
        Id = id;
        Name = name;
    }
    public int Id { get; private set;}
    public string Name …
Run Code Online (Sandbox Code Playgroud)

c# resharper refactoring

7
推荐指数
0
解决办法
88
查看次数

如何以编程方式测试SQL Server是否支持"AT TIME ZONE"?

我目前正在使用SQL CLR进行SQL Server中的时区转换,因为它是一个不安全的程序集,我无法在Azure中运行它.我们支持内部部署和Azure是业务需求.我正在考虑为Azure使用AT TIME ZONE功能并保留SQL CLR用于内部部署.

我希望能够添加一个使用'AT TIME ZONE'的sql函数(如果可用的话,否则会调用程序集).

我可以在运行sql之前使用语法运行测试查询来创建函数,如果出现错误则创建另一个...但这意味着如果加载到较旧的sql server版本中,一个实例的备份可能包含错误不支持语法(例如2016年至2014年).

测试的最佳实践方法是什么(最好是在SQL语句本身内),数据库是否支持这种语法?

c# sql-server azure azure-sql-database

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