小编Mar*_*iak的帖子

在 Suave 应用程序中上传文件

我最近开始使用 F# 和 Suave 为我大学的一个项目创建一个网站。我需要做的一件事是让用户通过网站上传文件,然后我将对其进行解析。

我现在拥有的是

let post =
   let ``process`` httpRequest =
      use reader = File.OpenText httpRequest.files.Head.tempFilePath
      // do parsing and save to database
   request ``process``
Run Code Online (Sandbox Code Playgroud)

在我的 HTML 中,我有一个简单的表单

<form action="/parse" method="POST">
    <div>
        <input type="file" name="file">
    </div>
    <div>
        <button>Send</button>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

在通过该post方法处理 POST 请求期间,我收到以下异常

[22:45:30 ERR] request failed
System.InvalidOperationException: The input list was empty.
  at Microsoft.FSharp.Collections.FSharpList`1[T].get_Head () <0x41494340 + 0x0007b> in <filename unknown>:0
  at Web+Parse+post@25.Invoke (Suave.HttpRequest httpRequest) <0x41493e10 + 0x0003b> in <filename unknown>:0
  at Microsoft.FSharp.Core.FSharpFunc`2[T,TResult].InvokeFast[V] (Microsoft.FSharp.Core.FSharpFunc`2 func, …
Run Code Online (Sandbox Code Playgroud)

upload f# http suave

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

使用 EF Core 插入具有手动分配 ID 的新实体

我需要将一个实体插入数据库,该实体对其 id 有约束,因此我想手动设置它。

注意:下面的模型是了解我正在做的事情的最小示例。整个过程在 ASP.NET Core 2 上运行,并带有 EF Core 和 Pomelo MySql 提供程序。

我正在尝试在现有数据库(MySQL)中创建一个实体,其定义如下:

CREATE TABLE Users (
    id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
    email VARCHAR(128) NOT NULL);

CREATE TABLE UserData (
    id INTEGER PRIMARY KEY,
    name VARCHAR(32) NOT NULL,
    FOREIGN KEY(id) REFERENCES Users(id));
Run Code Online (Sandbox Code Playgroud)

所以Users表中的每条记录在表中都有一条记录UserData。现在在我的代码中我想使用类似的东西

Context.Users.Add(user);
Context.SaveChanges();
data.Id = user.Id;
Context.UserData.Add(data);
Context.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

它们User应该Id由数据库生成,然后UserData用它创建Id。然而,EF执行的语句会导致错误:

Failed executing DbCommand (6ms) [Parameters=[@p0='?', @p1='?' (Size = 32)], CommandType='Text', CommandTimeout='30']
  INSERT INTO …
Run Code Online (Sandbox Code Playgroud)

c# mysql entity-framework-core asp.net-core-2.0

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

标签 统计

asp.net-core-2.0 ×1

c# ×1

entity-framework-core ×1

f# ×1

http ×1

mysql ×1

suave ×1

upload ×1