小编Pet*_*ith的帖子

如何在流畅的断言中比较null和string.Empty(或"")?

我有两个相同类型的对象,类型有一个字符串字段,在第一个对象中值为null,在第二个对象中值为"",如何强制流畅的assesrtions假设这是正确的?

Assesrtion本身:

callResult.ShouldBeEquivalentTo(centreResponse, 
                                opt => opt.Excluding(r => r.DateOpen));
Run Code Online (Sandbox Code Playgroud)

这里引发异常,声明期望值为null,真实值为""(反之亦然)

c# integration-testing fluent-assertions

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

使用反射更新类属性,并将属性的名称更新为字符串

我有一个样本课

public class sampleClass
{
    public string givenName { get; set; }
    public string familyName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

以及包含在该类中的一组值IDictionary<string, object> dataModel.我可以使用反射来迭代dataModel并使用dataModel键来获取值.

我想做的事情如下:

void UpdateValues(IDictionary<string, object> dataModel)
{
    Type sourceType = typeof(sampleClass);
    foreach (PropertyInfo propInfo in (sourceType.GetProperties()))
    {
        if (dataModel.ContainsKey(propInfo.Name))
        {
            //  set propInfo value here
            propInfo.Value = dataModel[propInfo.Name];
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但我不知道该怎么做

propInfo.Value = dataModel[propInfo.Name];
Run Code Online (Sandbox Code Playgroud)

救命!谢谢 !!

c# reflection properties

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

使用MVC 5 EditorFor从输入类型的数字中删除滑块/微调器

我使用Razor和MVC 5作为具有整数值的模型.如果我使用

@Html.EditorFor(model => model.WeekPrice, new { htmlAttributes = new { @class = "form-control" } })
Run Code Online (Sandbox Code Playgroud)

我在文本框中出现了一个滑块/微调器; 生成的HTML是:

<input type="number" ...
Run Code Online (Sandbox Code Playgroud)

如果我使用@Html.TextboxFor(model或更改数据类型到decimal微调器消失,HTML输入类型更改为文本.

我如何使用EditorFor和压制微调器?

c# asp.net-mvc razor

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

SQL Server邮件变量用法

我想在SQL Server上使用发送邮件实用程序,其中收件人变量(@recipients)应将格式化的字符串作为值.我想在下面展示一个例子:

EXEC msdb.dbo.sp_send_dbmail  
    @profile_name = 'Mail Profile',
    @recipients = Right('domain/user@company.com',
                         CHARINDEX('/',reverse('domain/user@company.com'))-1),
    @body = 'TEST MESSAGE',
    @subject = 'Automated Success Message'
Run Code Online (Sandbox Code Playgroud)

但是当我执行上面的语句时,会出现错误消息:关键字附近的语法不正确 Right

sql t-sql sql-server

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

EF Code First使用多对多关系

我正在使用Visual Studio 2010,C#4.0和Entity Framework 5.0.我多年来一直在使用数据库优先开发,但我正在尝试先迁移到代码并遇到问题.阅读和搜索似乎没有解决问题

我已将我的问题简化如下 - 我有两个类 - 评估者和文档.

public class Assessor
{
    public int AssessorID { get; set; }
    public virtual List<Document> Documents { get; set; }       
}

public class Document
{
    public int DocumentID { get; set; }
    public string DocumentLocation { get; set; }
    public string DocumentName { get; set; }
    public virtual List<Assessor> Assessors { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

与上下文

public class DocumentAssignment : DbContext
{
    public DbSet<Assessor> Assessors { get; set; }
    public DbSet<Document> …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework ef-code-first

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

条纹结帐不起作用

我们stripe payments在php脚本中使用method。我们收到以下错误:

Fatal error: Uncaught exception 'Stripe\Error\InvalidRequest' with message 
    'Amount must be at least 50 cents' in /stripe-php/lib/ApiRequestor.php:102 
     from API request 'req_7w4X4j80cfWZoS'
Stack trace:
#0 /lib/ApiRequestor.php(216): 
       Stripe\ApiRequestor->handleApiError('{\n "error": {\n...', 400, Array, Array)
#1 /stripe-php/lib/ApiRequestor.php(60): 
       Stripe\ApiRequestor->_interpretResponse('{\n "error": {\n...', 400, Array)
#2 /stripe-php/lib/ApiResource.php(105): 
        Stripe\ApiRequestor->request('post', '/v1/charges', Array, Array)
#3 stripe-php/lib/ApiResource.php(137): 
         Stripe\ApiResource::_staticRequest('post', '/v1/charges', Array, NULL)
#4 /home/imarkinfo/donogifts.com/stripe-php/lib/Charge.php(37):
          Stripe\ApiResource::_create(Array, NULL)
#5 /form_section.php(81): 
          Stripe\Charge::create(Array)
#6 {main} thrown in stripe-php/lib/ApiRequestor.php on line 102
Run Code Online (Sandbox Code Playgroud)

请建议我们如何解决它

php stripe-payments

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

是否有可能通过点击html页面上的按钮在我的网络服务器上运行c ++程序?

我在最后几个小时做了很多研究,只找到了Windows服务器的结果.

我的问题是我在嵌入式计算机上有一个c ++程序,需要在用户希望时执行.这就是为什么我设置一个网络服务器来处理它.所以我想用一个名为"Start Program"的按钮创建一个html页面(已经完成),然后执行我的c ++程序.

我已经尝试了Javascript child_process,它在某种程度上不起作用,也是php system()调用,这是不方便的,因为它没有单独对按钮点击作出反应,而是对页面的刷新也是如此.

有一种聪明的方法吗?谢谢!

html javascript php

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

在WindowsForms应用程序中选择查询BETWEEN两个日期c#

我有查询BETWEEN的问题.我试图从两个日期之间的表中选择记录,所以我使用了以下查询:

SqlDataAdapter sda1 = new SqlDataAdapter(
  "select distinct * from BLC where DATE_BLC between '" + 
   dateTimePicker1.Value.ToString() + "' and'" + 
   dateTimePicker2.Value.ToString() + "'", conx);
Run Code Online (Sandbox Code Playgroud)

当我输入以下日期时:

从2016年2月5日至今日期间15/03/2016

它返回(2016年2月6日至2016年3月15日)日期之间的记录,但是从日期05/02/2016开始的记录,它们不会被返回.当我选择日期时(2016年2月5日至2016年2月5日),这里没有记录.谁能告诉我这里我做错了什么?

c# sql-server date

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

如何在一个查询中合并多个选择查询

我有这4个查询我想从这样的表中选择数据

---------------------------------------------------------------
Month    Total Fee        Fee Deposit        Fee Due    Fine
---------------------------------------------------------------
October   200,000           100,000          100,000    5,00
Run Code Online (Sandbox Code Playgroud)

我的查询是:
1

SELECT Sum(Fee)AS'TotalFee', DueDate AS'Date' 
FROM VoucherTB 
GROUP BY DueDate
Run Code Online (Sandbox Code Playgroud)

2

SELECT Sum(VoucherTB.Fee)AS'FeeDeposit', DueDate AS'Date' 
FROM  VoucherTB 
WHERE FeeSubmission='Paid' 
GROUP BY VoucherTB.DueDate
Run Code Online (Sandbox Code Playgroud)

3

SELECT Sum(Fee)AS'FeeDue', DueDate AS'Date' 
FROM VoucherTB 
WHERE FeeSubmission='UnPaid' 
GROUP BY DueDate
Run Code Online (Sandbox Code Playgroud)

4

SELECT Sum(RevenueTB.Fine)AS'Fine', VoucherTB.DueDate AS'Date' 
FROM RevenueTB 
INNER JOIN VoucherTB 
ON venueTB.VoucherNo=VoucherTB.VoucherNo 
GROUP BY VoucherTB.DueDate
Run Code Online (Sandbox Code Playgroud)

c# sql-server sql-server-2008

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

string.Concat,Mutable还是Immutable?

我知道字符串在C#中是不可变的,除非使用了StringBuilder类.情况是,我有一个ObjectResult(实现IEnumerable)的字符串,我想将它转换为一个单独的字符串对象.这里有两个选项:

  1. 使用string.Concat

    var myDesiredData = string.Concat(TheObjectResult)
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用StringBuilder

    var sb = new StringBuiler();
    foreach (var item in TheObjectResult)
    {
      sb.Append(item);
    }
    var myDesiredData = sb.ToString();
    
    Run Code Online (Sandbox Code Playgroud)

我不确定第一种选择是如何工作的.

c#

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

MVC 3 Razor和表单中的空日期显示

我有一个MVC 3网站,我在表格中使用以下方式显示日期:

<div class="editor-label control-label">
     @Html.LabelFor(m => m.rrsfWoman.DateOfBirth)
</div>
<div class="editor-field controls">
     @Html.EditorFor(m => m.rrsfWoman.DateOfBirth)
     @Html.ValidationMessageFor(m => m.rrsfWoman.DateOfBirth)
</div>
Run Code Online (Sandbox Code Playgroud)

出生日期在rrsfWoman类中定义为

public DateTime WomansDateOfBirth { get; set; }
Run Code Online (Sandbox Code Playgroud)

我的问题是,因为出生日期字段默认值为MinDate.有没有办法可以将日期的显示压缩为1/01/0001 而不使字段可以为空.

谢谢

razor asp.net-mvc-3

0
推荐指数
1
解决办法
3001
查看次数

用于"不完全透视"的T-SQL

我有以下源数据(数据是几百行源的提取.):

ID  CodeID  Code
3749    69  354
3750    69  864
33721  130  XXX
33722  130  319
30446  159  XXX
30447  159  XXX
Run Code Online (Sandbox Code Playgroud)

并使用T-SQL我需要实现:

CodeID  Code1   Code2
69      354     864
130     XXX     319
159     XXX     XXX
Run Code Online (Sandbox Code Playgroud)

这似乎不适合数据透视表的结构,我不知道如何实现这一点.有没有人有什么建议.

t-sql sql-server pivot

0
推荐指数
1
解决办法
36
查看次数

违反UNIQUE KEY约束,但没有任何重复

我正在尝试使用LINQ将数据加载到SQL中.当我到达时context.SubmitChanges(),抛出以下异常:

An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.Linq.dll

Additional information: Violation of UNIQUE KEY constraint 'UQ__SDA_Cont__403B95D755FFB06A'. Cannot insert duplicate key in object 'dbo.SDA_Contracts'. The duplicate key value is (3M).
Run Code Online (Sandbox Code Playgroud)

这是产生错误的代码.我已手动进入数据(通过在调试器中查找订单并查看它).如异常所示,没有重复的条目.

var noDuplicates = query
    .GroupBy(x => x.ContractingParty)
    .Select(x => x.First());
var duplicates = query
    .Select(x => { x.ContractingParty = x.ContractingParty + "-2"; return x; })
    .GroupBy(x => x.ContractingParty)
    .Where(g => g.Count() > 1)
    .Select(x => x.Skip(1).Take(1).Single());
Console.WriteLine(query.Count() + " Total entries");
Console.WriteLine(noDuplicates.Count() + " Unique entries …
Run Code Online (Sandbox Code Playgroud)

c# sql linq

0
推荐指数
1
解决办法
927
查看次数