我有以下代码
--first statement
ALTER TABLE [nameOfMyTable] WITH CHECK ADD CONSTRAINT [nameOfMyConstraint] FOREIGN KEY([myFK])
REFERENCES [tableReference] ([myFK])
GO
--second statement
ALTER TABLE [nameOfMyTable] CHECK CONSTRAINT [nameOfMyConstraint]
GO
Run Code Online (Sandbox Code Playgroud)
首先,我在表上定义一个CHECK约束.什么意味着第二个陈述?
我有以下代码
using(some code)
{
var b = ....
}
var b = ...
Run Code Online (Sandbox Code Playgroud)
Erorr: 名为'b'的局部变量不能在此范围内声明,因为它会给'b'赋予不同的含义,'b'已在'child'范围内用于表示其他内容
好的,编辑
using(some code)
{
var b = ....
}
b = ...
Run Code Online (Sandbox Code Playgroud)
Error: 当前上下文中不存在名称"b"
我有一个表Guid作为主键.该表已包含很多行.此外,我有一个win service,每行执行一些操作(可能需要从另一个数据库读取和写入数据).因此,处理一行需要花费大量时间.(平均约100秒)
我的胜利服务是这样的:
public class MyDto
{
public Guid Id { get; set; }
}
while (true){
if(time to start){
List<MyDto> rows = LoadData();
foreach(MyDto obj in rows){
Process(obj);//it takes in average about 100 sec
}
}
}
Run Code Online (Sandbox Code Playgroud)
我需要减少所有行的执行时间.由于某种原因,我决定增加我的胜利服务的失误.所以我需要每个win服务都会获得自己的行集.
我参与了我的LoadData()乐趣:
public List<MyDto> LoadData(int winServInstanceNumber){
}
Run Code Online (Sandbox Code Playgroud)
所以我需要一个贡献函数取决于总win服务实例计数和concreate win服务实例号.
你能提供更好的东西吗?
//on .net side
obj.Id.GetHashCode()%totalWinServiceInstancesCount
Run Code Online (Sandbox Code Playgroud)
要么
--on sql side
HASHBYTES('MD5', CAST(id as varbinary(16)))%totalWinServiceInstancesCount
Run Code Online (Sandbox Code Playgroud) 有人知道使用 resharper 按长度对 usings 指令进行排序的可能性吗?
前
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
Run Code Online (Sandbox Code Playgroud)
后
using System;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections.Generic;
Run Code Online (Sandbox Code Playgroud) 例如我有以下类型:
public class MyClass<T>
{
public T Prop { get; }
}
Run Code Online (Sandbox Code Playgroud)
或者说我有以下方法:
private static void Method<T>()
{
//how I can get a real type of <T>
}
Run Code Online (Sandbox Code Playgroud)
如何使用 获得泛型类的运行时类型roslyn?我的意思是真实类型<T>
static void Main(string[] args)
{
// here I need to get int
var m = new MyClass<int>();
// here I need to get object
var m1 = new MyClass<object>();
}
Run Code Online (Sandbox Code Playgroud) 我有这个正则表达式.
MMM D[,] YYYY
/^(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\ (\d{2})\, (\d{4})$/
Run Code Online (Sandbox Code Playgroud)
我怎么做[,]是可选的?
MMM D, YYYY
MMM D YYYY
Run Code Online (Sandbox Code Playgroud) 我有以下 json:
Data: {"Account":"d\\adm","Password":"cWExZjEiMTM="},"SqlServer":{"InstanceName":"","MachineName":"MyMachine","Port":null}
Run Code Online (Sandbox Code Playgroud)
我想使用 RegExp 将密码值替换为 ***。
cWExZjEiMTM= => ***
Run Code Online (Sandbox Code Playgroud)
在我的示例中,我期望以下输出:
Data: {"Account":"d\\adm","Password":"***"},"SqlServer":{"InstanceName":"","MachineName":"MyMachine","Port":null
Run Code Online (Sandbox Code Playgroud)
我只有以下解决方案:
string invokeSpec = "\":{\"Account\":\"d\\\\adm\",\"password\":\"cWExZjEiMTM=\"},\"SqlServer\":{\"InstanceName\":\"\",\"MachineName\":\"MyMachine\",\"Port\":null}";
var pattern = "\\\"Password\\\":\\\"(?<pass>[^\\\"]*)\\\"";
var replaced = Regex.Replace(invokeSpec, pattern, "\"Password\":\"***\"", RegexOptions.IgnoreCase);
":{"Account":"d\\adm","Password":"***"},"SqlServer":{"InstanceName":"","MachineName":"MyMachine","Port":null}
Run Code Online (Sandbox Code Playgroud) 我使用Windows窗体.我希望DisplayMember与基类相同?我有课
public class MyViewModel
{
public int Id { get; set; }
public Type Type { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我想,我的comboBox显示Type.Name.
List<MyViewModel> list = new List<MyViewModel>();
list.Add(new MyViewModel(){ Id = 1, Type.GetType(int)});
list.Add(new MyViewModel(){ Id = 2, Type.GetType(string)});
//how i must to config displayMember???
myComboBox.DisplayMember = "Type.Name";
myComboBox.ValueMember = "Id";
myComboBox.DataSoutce = list;
Run Code Online (Sandbox Code Playgroud)
但是我无法在comboBox中显示Type.Name.你能帮助我吗?
我将log4net在我的wpf申请中使用.我需要在我的日志中的消息如下所示:
11/8/2018 10:49:38 AM 13 (5368) properties disabled.
Run Code Online (Sandbox Code Playgroud)
其中13是processId其中写入该消息.所以这很容易.但不幸的是我无法做到这一点.所以我只需要一个适合我的log4net记录器的模式布局.
我在官方网站的faq部分找到了以下消息log4net:
以下示例
FileAppender通过%processid在File属性中指定模式来设置a的文件名以包括当前进程ID .
<appender name="LogFileAppender" type="log4net.Appender.FileAppender">
<file type="log4net.Util.PatternString" value="log-file-[%processid].txt" />
<layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level %logger - %message%newline" />
</appender>
Run Code Online (Sandbox Code Playgroud)
所以,它的工作原理,但仅适用于我的日志文件中的文件名而不是布局.我需要把它%processid放到我的布局中.我目前的布局是:
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{dd/MM/yyyy HH:mm:ss,fff tt} %processid (%thread) - %message%newline" />
</layout>
Run Code Online (Sandbox Code Playgroud)
我的日志只是将processid字符串写入我的日志文件.
22/11/2018 16:21:51,863 PM processid (1) - Exiting application.
Run Code Online (Sandbox Code Playgroud)
我也找到了答案.它有效.但是%processid在启动期间,属性仅初始化一次.在我的应用程序中,编写程序通常会发生变化 …