小编Ken*_*gan的帖子

如何在映射到 SQL Server 列时需要 EF Core 3.0 中的 OwnsOne 属性?

我有一个主实体 Profile,它的属性 Name 是一个值对象。Name 对象有两个属性 First 和 Last。当我使用 Fluent API 将 Name 对象属性映射到 Profile 表中的列时,我指定它们是必需的。当我创建迁移时,它说可空为真。我认为这与以下事实有关,即在 EF Core 3.0 中拥有的实体现在是可选的,但我如何告诉 EF 它们实际上是必需的?

public class Profile
{
   public Name Name { get; private set; }
   ...
}
Run Code Online (Sandbox Code Playgroud)
public class Name
{
   public string First { get; }
   public string Last { get; }
   ...
}
Run Code Online (Sandbox Code Playgroud)
public override void Configure(EntityTypeBuilder<Profile> builder)
{
   base.Configure(builder);

   builder.OwnsOne(
                navigationExpression: p => p.Name,
                buildAction: n =>
                {
                    n.Property(n => n.First)
                        .HasColumnName("NameFirst")
                        .HasMaxLength(25)
                        .IsRequired();

                    n.Property(n => n.Last)
                        .HasColumnName("NameLast")
                        .HasMaxLength(25) …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-core ef-core-3.0

9
推荐指数
2
解决办法
1666
查看次数

使用 Visual Studio 2019 和 Webpack 在 TypeScript 文件中未命中断点

我有一个 ASP.NET MVC 5 应用程序,我们希望使用 typescript 来处理客户端代码,并使用 webpack 将所有内容捆绑到一个 js 文件中。TypeScript 使用 npm 安装。当我在 Visual Studio 2019 中的 TypeScript 文件中设置断点时,它永远不会被命中。我能够使用浏览器开发人员工具查看 TypeScript 文件并设置断点。然后,当命中断点时,它会显示在 Visual Studio 中。如果我将 webpack 从混合中取出并让 Visual Studio 编译 TypeScript 文件,我可以设置一个断点,并且不会出现任何问题。

这是我们的packages.json 文件:

{
  "name": "TypeScriptWebpackPlayground",
  "version": "1.0.0",
  "description": "",
  "repository": "",
  "main": "index.js",
  "scripts": {
    "Install": "npm install",
    "WebpackDevelopment": "webpack --mode=development",
    "WebpackProduction": "webpack --mode=production",
    "Debug": "run-s Install WebpackDevelopment",
    "Release": "run-s Install WebpackProduction"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "clean-webpack-plugin": "^3.0.0",
    "npm-run-all": "^4.1.5",
    "ts-loader": "^8.0.14",
    "typescript": …
Run Code Online (Sandbox Code Playgroud)

typescript asp.net-mvc-5 webpack visual-studio-2019

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

升级到 Roslyn 分析仪 6.0 版本后获取 CA2007

我们有一个 .net core 3.1 项目,我们刚刚将 roslyn 分析器升级到版本 6.0。执行此操作后,以下代码行开始收到“CA2007:考虑对等待的任务调用ConfigureAwait”。错误:

await using var memoryStream = new MemoryStream(fileByteArray);
Run Code Online (Sandbox Code Playgroud)

如果我们尝试像这样添加ConfigureAwait 调用:

await using var memoryStream = new MemoryStream(fileByteArray).ConfigureAwait(false);
Run Code Online (Sandbox Code Playgroud)

然后,这会导致内存流成为ConfiguredAsyncDisposable,而不是实际的内存流,从而阻止进一步的代码编译。

我们如何将ConfigureAwait添加到await using语句中以删除警告,但仍然保持我们的内存流是实际的内存流?如果可能的话,我们宁愿不必压制它。

c# .net-core roslyn-code-analysis

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