小编Mic*_*ves的帖子

在LINQ select中声明变量(x => new

我正在将POCO映射到模型,代码如下所示.

// NOT NEEDED var noneRequiredUserDocuments = new List<NoneRequiredUserDocument>();
//var docs = studentDocuments.Where(x => x.RequiredUserDocumentId == null); // NOT NEEDED .ToList();
//var noneRequiredUserDocuments = docs.Select(x => new NoneRequiredUserDocument

// You can chain LINQ methods (i.e. Where and Select)
var noneRequiredUserDocuments = studentDocuments
    .Where(x => x.RequiredUserDocumentId == null)
    .Select(x => new NoneRequiredUserDocument
    {
        StudentDocument = x,
        Src = _storageService.GetFileUrl(x.FileName),
        ThumbnailImageUrl = ImageHelper.ThumbnailImageUrl(Src, 75)

    }).ToList();
Run Code Online (Sandbox Code Playgroud)

我的问题是在这一行:

ThumbnailImageUrl = ImageHelper.ThumbnailImageUrl(Src, 75)
Run Code Online (Sandbox Code Playgroud)

Src 在上下文中不存在.

有没有办法让我在select中声明一个我可以在LINQ select中重用的变量?

而且我不想打_storageService.GetFileUrl两次电话.

c# linq

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

ASP.NET Core 3.0 中的 JsonOutputFormatter

在asp.net core 2.2中,我曾经有以下内容,

  var jsonSettings = new JsonSerializerSettings
  {
    ContractResolver = new SubstituteNullWithEmptyStringContractResolver()
  };

services.AddMvc(options =>
{
        options.OutputFormatters.RemoveType<JsonOutputFormatter>();
        options.OutputFormatters.Add(new ResponseJsonOutputFormatter(jsonSettings,ArrayPool<char>.Shared));
}

public class ResponseJsonOutputFormatter : JsonOutputFormatter
{
 // Stuff in here
}
Run Code Online (Sandbox Code Playgroud)

但是在 3.0 中使用:

services.AddControllersWithViews(options =>
Run Code Online (Sandbox Code Playgroud)

并且类型JsonOutputFormatter不再可用。

当前建议的全局自定义 json 响应的方法是什么?

我尝试使用IOutputFormatter但是当我将它设置AddControllersWithViews为 OutputFormatters时它似乎没有连接,所以不确定是否有额外的步骤?

具有新端点路由的中间件是一种选择吗?或者有没有更好的方法来实现这一目标?

c# json asp.net-core-3.0

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

'System.Net.Http 4.0.0'包需要NuGet客户端版本'3.0'或更高版本

使用团队城市作为我们的CI,我开始收到此错误消息.我们最近显然更新了System.Net.Http,现在需要新版本的NuGet.如何让团队城市找到新的NuGet版本.我已经尝试安装VS2015并通过那里更新NuGet包管理器.我已经尝试直接指向命令行nuget.exe(不知道是否已更新到v3?)

[restore] The 'System.Net.Http 4.0.0' package requires NuGet client version '3.0' or above, but the current NuGet version is '2.8.60717.93'.
[restore] Process exited with code 1
Run Code Online (Sandbox Code Playgroud)

我是否只需要等到MS将新的nuget包推到nuget?

谢谢

teamcity nuget

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

在Windows中启动python .py作为服务

我已经创建了一个Windows服务来启动.py脚本.

sc create "Maraschino" binPath= "C:\HTPC\Maraschino\maraschino-cherrypy.py" DisplayName=    "Maraschino" depend= "Tcpip"
Run Code Online (Sandbox Code Playgroud)

然后我添加了一个注册表项来链接.py以使用python.exe打开

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Maraschino\Parameters]
"AppDirectory"="C:\\Python27"
"Application"="C:\\Python27\\python.exe C:\\HTPC\\Maraschino\\maraschino-cherrypy.py"
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试启动服务时,我得到错误193 0xc1,当谷歌搜索显示它不是一个有效的exe我试图启动.我知道它不是.exe而是.py并将其链接到用python.exe打开应该解决这个问题但是我犯了一个错误.在链接脚本以使用python.exe时,是否有人对我可能做错了什么有所了解

谢谢

python windows-services

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

使用mechanize提交表单(TypeError:ListControl,必须设置序列)

我正在尝试提交一个带有机械化的表单但是遇到了错误(TypeError:ListControl,必须设置一个序列)在谷歌搜索一段时间后尝试了几个不同的解决方案我无法解决问题.我正在尝试提交所有字段.

通过mechanize获取的表单数据(对于br.forms()中的f打印:f)

<POST http://www.example.com/takeupload.php multipart/form-data
<HiddenControl(MAX_FILE_SIZE=1000000) (readonly)>
<TextControl(<None>=http://www.example.com:81/test.php?pass=550) (readonly)>
<FileControl(file=<No files added>)>
<TextControl(name=)>
<SelectControl(type=[*0, 23, 22, 1, 10, 7, 18, 4, 21, 56, 20, 60, 5, 19, 6, 55, 63, 9])>
<CheckboxControl(strip=[strip])>
<FileControl(nfo=<No files added>)>
<TextareaControl(descr=)>
<SubmitControl(<None>=Do it!) (readonly)>>
Run Code Online (Sandbox Code Playgroud)

我目前的代码

br.open('http://www.bitfarm.co.za/upload.php')

br.select_form(nr=4)

filename = 'test.torrent'
br.form.add_file(open(filename), 'application/x-bittorrent', filename, name='file') 
br.form['name'] = 'test'
br.form['type'] = '22'
br.form['strip'] = '0'
br.form['nfo'] = ''
br.form['descr'] = 'This is the desc'

br.submit()
Run Code Online (Sandbox Code Playgroud)

请问你能帮忙并检查我是否使用了正确的表单选项语法.谢谢

python mechanize-python

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

对于实体框架,全局禁用对表的级联删除

寻找Entity Framework级联删除的一些帮助.我们最初有全局级联删除禁用

modelBuilder.Conventions.Remove<ManyToManyCascadeDeleteConvention>();
modelBuilder.Conventions.Remove<OneToManyCascadeDeleteConvention>();
Run Code Online (Sandbox Code Playgroud)

我们现在想要重新启用它.但问题是,在创建迁移时,我们得到此错误"可能导致循环或多个级联路径".

使用流畅的API工作的解决方案创建..

modelBuilder.Entity<Campus>()
            .HasRequired(c => c.Institution)
            .WithMany()
            .WillCascadeOnDelete(false);
Run Code Online (Sandbox Code Playgroud)

然而,由于InstitutionId无处不在,机构会导致多个问题.我想避免不得不通过每个选项并逐个忽略它们.是否可以停止对Institution表中所有关系的级联删除?

机构永远不会被删除,所以我们不介意是否没有级联删除.

谢谢

c# entity-framework cascading-deletes

6
推荐指数
0
解决办法
1698
查看次数

带有第三方 DI 的 IStringLocalizer

我正在尝试按照此文档设置本地化

https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization

我假设如果你使用内置的 DI,它就可以工作,但是我使用的是 Simple Injector 而不是内置的 DI,所以它抱怨我没有注册 IStringLocalizer。我如何注册 IStringLocalizer 因为我显然不能这样做

container.Register<IStringLocalizer, StringLocalizer>(Lifestyle.Scoped);
Run Code Online (Sandbox Code Playgroud)

谢谢

simple-injector asp.net-core-localization

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