小编Jor*_*dan的帖子

忽略具有Entity Framework的重复键插入

我正在使用ASP.NET MVC4和Entity Framework Code First.我有一个名为"users"的表,主键为"UserId".此表可能有200,000多个条目.

我需要再插入50个用户.我可能会这样做

foreach(User user in NewUsers){
    context.Add(user);
}
dbcontext.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

问题是,这些新用户中的一个或多个可能已经存在于DB中.如果我添加它们然后尝试保存,则会抛出错误,并且不会添加任何有效的错误.我可以修改代码来执行此操作:

foreach(User user in NewUsers){
    if(dbcontext.Users.FirstOrDefault(u => u.UserId) == null)
    {
        dbcontext.Users.Add(user);
    }
}
dbcontext.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

哪个会奏效.问题是,它必须在200,000+条目表上运行50次查询.所以我的问题是,插入这些用户的效率最高的方法是什么,忽略任何重复?

c# entity-framework

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

JavaScript游标更改(并再次更改)

我有这个页面做一些时髦的数据库的东西,需要几秒钟来处理,同时我想设置一个"wait"光标,以便用户不会翻转并继续点击按钮.我看过了

document.body.style.cursor = "wait"

事情,这个问题是它只有当鼠标位于页面主体上时才有效(即如果它在按钮上方仍显示正常指针).如何设置它以便无论页面上的鼠标位于何处,它都会显示等待图标?

这个问题的第二部分是,一旦完成它的事情,我该如何设置它?如果我将其设置回来"default",这似乎会覆盖"hover"我在CSS中设置的任何光标更改(因此当它超过指定对象时它不再成为一只手等).

编辑:第一个答案很好,除了在IE中它不刷新光标(所以你注意到光标类型的变化),直到你实际移动光标.任何修复?

javascript cursor

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

仅来自相位/幅度的Matlab逆FFT

所以我有这个'我'的形象.我用F = fft2(I)得到2D傅里叶变换.为了重建它,我可以去ifft2(F).

问题是,我需要仅从a)幅度和b)F的相位分量重建这个图像.我如何分离傅立叶变换的这两个分量,然后从每个变换重建图像?

我尝试了abs()和angle()函数来获得幅度和相位,但第一阶段将无法正确重建.

救命?

matlab fft phase

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

使用ASP.NET MVC 4设置TwitterBootstrap

这是我到目前为止所做的:

1)在VS2012中创建新的ASP.NET MVC 4项目.

2)选择"互联网应用"模板(包括会员和实体框架)

3)测试它,它工作正常

4)使用包管理器,运行:

> Install-Package twitter.bootstrap.mvc4
> Install-Package twitter.bootstrap.mvc4.sample
Run Code Online (Sandbox Code Playgroud)

5)在"_ViewStart.cshtml"中,改变

Layout = "~/Views/Shared/_Layout.cshtml" 
Run Code Online (Sandbox Code Playgroud)

Layout = "~/Views/Shared/_BootstrapLayout.basic.cshtml"
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我现在运行它时,我收到以下错误:

The following sections have been defined but have not been rendered for the layout page "~/Views/Shared/_BootstrapLayout.basic.cshtml": "featured".
Run Code Online (Sandbox Code Playgroud)

我是ASP.NET的新手,我不确定发生了什么以及为什么会发生这种情况.有任何想法吗?

作为第二个问题,一旦我解决了这个问题,我该如何从http://wrapbootstrap.com安装模板?我似乎无法找到有关如何使用ASP.NET的任何说明.

asp.net-mvc-4 twitter-bootstrap

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

Java MySQL JDBC内存泄漏

好的,所以我有这个程序有很多(~300)个线程,每个线程都与一个中央数据库通信.我创建了一个到DB的全局连接,然后每个线程都会创建业务创建语句并执行它们.

在某个地方,我有一个巨大的内存泄漏.在分析堆转储后,我看到com.mysql.jdbc.JDBC4Connection对象是70 MB,因为它在"openStatements"(哈希映射)中有800,000个项目.在某个地方它没有正确地关闭我创建的语句,但我不能为我的生活弄清楚在哪里(每次打开一个,我也关闭它).有什么想法可能会发生吗?

java mysql memory-leaks jdbc

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

Java MySQL时间戳时区问题

我有一个java.util.Date对象,我需要将它以UTC格式插入到MySQL的datetime字段中.

java.util.Date date = myDateFromSomewhereElse;
PreparedStatement prep = con.prepareStatement(
    "INSERT INTO table (t1, t2) VALUES (?,?)");

java.sql.Timestamp t = new Timestamp(date.getTime());
prep.setTimestamp(1, t, Calendar.getInstance(TimeZone.getTimeZone("PST"));
prep.setTimestamp(2, t, Calendar.getInstance(TimeZone.getTimeZone("UTC"));
System.out.println(prep.toString());
Run Code Online (Sandbox Code Playgroud)

这给了我准备好的SQL语句字符串:

INSERT INTO table (t1, t2) VALUES ('2012-05-09 11:37:08','2012-05-09 11:37:08');
Run Code Online (Sandbox Code Playgroud)

无论我指定的时区如何,返回的时间戳都是相同的时间戳.它忽略了我指定的时区的Calendar对象.发生了什么事,我做错了什么?

java mysql timezone timestamp

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

MySQL 一对多转 JSON 格式

我有两个 MySQL 表:

User (id, name)
Sale (id, user, item)
Run Code Online (Sandbox Code Playgroud)

Sale(user)的外键在哪里User(id),所以这是一对多的关系(一个用户可以进行多次销售)。

我试图从数据库中获取它并以 JSON 格式为多个用户返回它,所以它看起来像这样:

[
  {
    "id": 1,
    "name": "User 1",
    "sales": [
      {
        "id": 1,
        "item": "t-shirt"
      },
      {
        "id": 2,
        "item": "jeans"
      }
    ]
  },
  {
    "id": 2,
    "name": "User 2",
    "sales": [
      {
        "id": 3,
        "item": "sweatpants"
      },
      {
        "id": 4,
        "item": "gloves"
      }
    ]
  }
]
Run Code Online (Sandbox Code Playgroud)

其中“销售”实体嵌套在其相应“用户”的实体中。

所以问题是,从数据库查询并将其转换为 JSON 的最佳方法是什么?我可以为所有用户运行查询,然后遍历每个用户并运行查询以获取他们的销售额,但这很慢。或者,我可以在用户和销售之间进行外部连接,然后在代码中将其解析为 JSON 格式,但这会从数据库发送多余的信息(包括每个销售的整个用户数据集),并且需要循环遍历所有数据代码。有没有方便的方法来做到这一点?顺便说一下,我使用的是 Python 3.7。

python mysql arrays json left-join

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

如何在销毁多个实例时运行 remote-exec 配置程序

我正在使用 terraform 在 OpenStack 上设置一个 docker swarm 集群,并使用 Ansible 在新创建的虚拟机上进行配置。我想首先docker swarm leave在虚拟机上执行,当我减少实例(虚拟机)数量并通过terraform apply. 当我一个一个地销毁实例时它会起作用,但是当同时销毁 2 个实例时它会出错。

错误:循环:module.swarm_cluster.openstack_compute_instance_v2.swarm-cluster-hosts[3](销毁),module.swarm_cluster.openstack_compute_instance_v2.swarm-cluster-hosts[2](销毁)

这是脚本:

resource "openstack_compute_instance_v2" "my_cluster"{
    provisioner "remote-exec" {
        when = destroy
        inline = [ "sudo docker swarm leave" ]
    }

    connection {
        type = "ssh"
        user = var.ansible_user
        timeout = "3m"
        private_key = var.private_ssh_key
        host = self.access_ip_v4
    }
}
Run Code Online (Sandbox Code Playgroud)

地形:0.12

provisioning openstack terraform

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

Docker:导出多种架构的镜像

我有一个场景,我需要以可导出、可传输的格式捆绑一个多容器系统。具体来说,我需要从 Docker Hub 获取图像并将其存储在便携式介质(例如 USB 驱动器)上,然后我可以将其加载到无法访问互联网的气隙计算机中。

我通常可以这样做:

# On the development server
docker pull nginx:1.23
docker save -o nginx.tar nginx:1.23

... store the .tar on portable media...

# On the air-gapped machine
docker load < myimage.tar
Run Code Online (Sandbox Code Playgroud)

然而,尽管该映像是为多种体系结构构建并支持多种体系结构,但这似乎只存储单个体系结构(运行 的计算机的体系结构docker pull)的映像。我需要它将所有架构的图像导出到.tar文件,以便它们可以加载到任何架构的机器上。

我试过了:

docker pull --platform linux/amd64 nginx:1.23
docker pull --platform linux/arm64 nginx:1.23
Run Code Online (Sandbox Code Playgroud)

手动指定应该拉取amd64arm64图像,但docker save仍然只导出单个图像(我们可以从文件manifest.json只有一个条目的事实看出)。

我也尝试过:

docker pull --platform linux/amd64 --platform linux/arm64 nginx:1.23
Run Code Online (Sandbox Code Playgroud)

但它有相同的结果。

当我导出/保存支持多种不同架构的图像时,如何导出/docker load保存?理想情况下,我能够在任何支持的体系结构的计算机上使用docker load单个 …

docker docker-registry

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

GitHub Actions - 为 Docker 容器安装卷

我一直在 GitHub Actions 中快速了解 Docker 的使用情况,并且不断运行如下代码:

docker run --rm -t \
            -v "/home/runner":"/home/runner" \
            -v "/home/runner/work/_temp/_github_home":"/github/home" \
            -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" \
            -v "${{ github.workspace }}":"/github/workspace" \
            ...
Run Code Online (Sandbox Code Playgroud)

我很好奇安装所有这些卷的动机是什么。我得到了/github/workspace一个,可以访问 Docker 容器内的所有存储库文件,但是这些文件有什么用呢?

  • /home/runner
  • /home/runner/work/_temp/_github_home
  • /home/runner/work/_temp/_github_workflow

“你说什么,你在哪里看到的?”

然而,我找不到任何有关您为什么要这样做的文档。

docker github-actions

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