小编Sha*_*dix的帖子

EF迁移数据库优先方法?

我们正在使用Database First方法和EntityFramework.我们有几个客户,当我们部署新产品版本时,我们现在正在使用类似的工具"手动"应用数据库架构更改SQL Compare.

有没有一种方法可以帮助EF Migrations自动将更改应用于客户数据库?

c# entity-framework database-migration

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

Ninject 3中.ToConstructor和.ToMethod有什么区别?

在Ninject3中有一个新的.ToConstructor功能.

如上所述,它有助于强类型构造函数参数,如:

Bind<IMyService>().ToConstructor(
    ctorArg => new MyService(ctorArg.Inject<IFoo>(), ctorArg.Inject<IBar>()));
Run Code Online (Sandbox Code Playgroud)

以几乎相同的方式使用.ToConstructor.ToMethod之间的区别是什么?

Bind<IMyService>().ToMethod(
    x => new MyService(x.Kernel.Get<IFoo>(), x.Kernel.Get<IBar>()));
Run Code Online (Sandbox Code Playgroud)

它只是一个语法糖,以避免使用Kernel.Get <>()或还有更多我缺少的东西?

c# ninject

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

使用ServiceStack的OData?

我刚刚看到ServiceStack,我正在考虑用它来构建服务.

是否可以使用服务堆栈提供OData提要,以便我能够公开IQueryable并从客户端查询它?

c# odata servicestack

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

AngularJS在使用大约2000个元素渲染时真的很慢?

这是小提琴:http: //jsfiddle.net/D5h7H/7/

它呈现以下内容:

<div ng-repeat="group in Model.Groups">
    <span>{{group.Name}}</span>
    <div ng-repeat="filter in group.Filters">
        <input type="checkbox" ng-model="filter.enabled">{{filter.Name}}
        <select ng-disabled="!filter.enabled">
            <option ng-repeat="value in filter.Values">{{value}}</option>
        </select>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

它是从服务器加载到json中然后呈现给用户的过滤器列表(在一个例子中,json就是在Fiddle中生成的).目前有6组30个过滤器,每个过滤器有15个选项元素.

在Firefox中,现在需要大约2秒来重绘UI.

对于角度js,这个时间还可以吗?有没有什么我做错了导致2秒.渲染(因为2000元素对我来说看起来不是一个大数字,但2秒.肯定是大的)?

javascript performance pageload angularjs ng-bind

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

没有 csproj 的 C# 9 顶级程序?

即将推出的 C# 9 的一项功能是所谓的顶级程序。这样您就可以在没有类的情况下编写以下内容。

using System;

Console.WriteLine("Hello World!");
Run Code Online (Sandbox Code Playgroud)

并将dotnet run为您启动它。

它对我有用,但前提是我还添加了.csproj如下所示的文件

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net5.0</TargetFramework>
    </PropertyGroup>
</Project>
Run Code Online (Sandbox Code Playgroud)

有没有办法.csproj从图片中跳过?:) 这样就只有一个Program.cs文件,仅此而已。

c# c#-9.0

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

在发送8个字节之前,Chrome不会将文件显示为已下载(Firefox可以)

我想要一个将文件发送给用户的http方法,但需要一些时间(例如4秒)来生成文件内容.

我想要的是,浏览器立即显示文件被下载.但Chrome只会在发送8个字节后将文件显示为已下载.我不知道我的文件的前8个字节.但是,Firefox会立即显示下载内容.

这是一个例子(在Express中,但后端技术并不重要,我在ASP.Net中有相同的例子):

const express = require('express');

const app = express();
const sleep = ms => new Promise(resolve => setTimeout(resolve, ms))

app.get('/:type?', async (req, res) =>  {
  res.set("Content-type", "application/octet-stream");
  res.set("Content-Disposition", "attachment;filename=\"Report.txt\"");

  res.write('1234567'); 
  if (req.params.type == "instant")
    res.write('8'); //if I send 8 bytes before sleep, file downloading appears instantly
  await sleep(4*1000);

  res.write('9');
  res.end();
});

app.listen(3000, () => {
  console.log('server started');
});
Run Code Online (Sandbox Code Playgroud)

https://repl.it/@ArturDrobinskiy/AllJumboSpellchecker?language=nodejs

有办法解决这个问题吗?

带有以上代码的示例网址:

google-chrome download node.js

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

在VB.Net中创建时将项添加到List

在c#中我可以在创建时初始化List

var list = new List<String>() {"string1", "string2"};
Run Code Online (Sandbox Code Playgroud)

在VB.Net中有类似的东西吗?目前我可以这样做

Dim list As New List(Of String)
list.Add("string1")
list.Add("string2")
list.Add("string3")
Run Code Online (Sandbox Code Playgroud)

但我想避免无聊.添加线条

vb.net list c#-to-vb.net

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

在vs 2012中一键发布:如何删除_ConnectionStringsToInsert?

我通常把我的连接字符串放到一个单独的文件中,在web.config中添加这样的东西:

<connectionStrings configSource="WebConnection.config" />
Run Code Online (Sandbox Code Playgroud)

我刚刚安装了VS 2012,它会自动获取我现有的发布设置.但是,当我进行网络发布时,它现在自己添加了两个连接字符串,因此部署目标上的web.config现在看起来像这样:

  <connectionStrings configSource="WebConnection.config">
    <add name="EF.Model.DbContext" connectionString="EF.Model.DbContext_ConnectionString" providerName="System.Data.SqlClient" />
    <add name="Migrations.Db.MigrationDb" connectionString="Migrations.Db.MigrationDb_ConnectionString" providerName="System.Data.SqlClient" />
  </connectionStrings>
Run Code Online (Sandbox Code Playgroud)

当然,这会产生错误(使用时节点内容必须为空configSource).我注意到,在新生成的.pubxml文件(现在存储发布设置)中有以下几行:

  <ItemGroup>
    <_ConnectionStringsToInsert Include="EF.Model.DbContext" />
    <_ConnectionStringsToInsert Include="Migrations.Db.MigrationDb" />
  </ItemGroup>
Run Code Online (Sandbox Code Playgroud)

我该如何删除它们?:)如果我从文件中删除它们,Web-publish对话框会在我编辑发布设置时随时添加它们.

msdeploy one-click-web-publishing webdeploy visual-studio-2012

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

UnityContainer和内部构造函数

我有一个内部构造函数的类,想要从Unity(2.0)解析它.

public class MyClass {
    internal MyClass(IService service) {
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我在做

_container.Resolve<MyClass>();
Run Code Online (Sandbox Code Playgroud)

当我这样做时,我有一个例外

Exception is: InvalidOperationException - The type MyClass cannot be constructed. 
Run Code Online (Sandbox Code Playgroud)

IService已注册,唯一的问题是构造函数是内部的.我真的希望这个类是公开的,但是我希望它只能通过工厂(我实际上在调用它container.Resolve<MyClass>())中创建.

有没有办法让Unity看到内部构造函数?像InternalsVisibleTo或者什么?

c# internalsvisibleto ioc-container unity-container

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

在发布/部署期间将DateTime.Now插入Web.Config

我希望在Web.Config中部署/发布应用程序的日期.

有没有办法通过web.config转换实现这一目标?

随着xdt:Transform="Replace"我可以替换预定值的任一节点,但有使用一些自定义的函数来计算值(如路DateTime.Now)?

asp.net web-config web-config-transform asp.net-mvc-3

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