我试图创建一个新的迁移,但我得到一个System.ArgumentNullException说:
System.ArgumentNullException: Value cannot be null.
Parameter name: language
at Microsoft.EntityFrameworkCore.Utilities.Check.NotNull[T](T value,
String parameterName)
at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations..ctor
(IOperationReporter reporter, Assembly assembly, Assembly
startupAssembly, String projectDir, String rootNamespace, String
language)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.<>c__DisplayClass4_0.<.ct
or>b__4()
at Microsoft.EntityFrameworkCore.Internal.LazyRef`1.get_Value()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigrationImpl(String name, String outputDir, String contextType)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass3_0`1.<Execute>b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
Value cannot be null.
Parameter name: language
Run Code Online (Sandbox Code Playgroud) 我有两个表(Device和PropertyValue),当我尝试删除 a 时,Device出现异常:
违反外键
我也尝试将级联设置为打开OnModelCreating(),但仍然不起作用。
public class Device
{
public int Id { get; set; }
public List<PropertyValue> Properties { get; set; }
}
public class PropertyValue
{
public int Id { get; set; }
public int? DeviceId { get; set; }
public Device Device { get; set; }
}
modelBuilder.Entity<PropertyValue>()
.HasOne(p => p.Device)
.WithMany(b => b.Properties)
.HasForeignKey(w => w.DeviceId)
.OnDelete(DeleteBehavior.Cascade);
Run Code Online (Sandbox Code Playgroud)
编辑:我正在使用存储库,但基本上我正在使用删除_context.Devices.Remove(entity);
我有一个托管IdentityServer4的项目,并且尝试在同一项目中托管一个Web API,该API接受访问令牌。
我的问题是,单个项目是否可能包含IdentityServer和使用同一IdentityServer的Web API?
编辑:必须使用Authorize属性保护API
c# access-token .net-core identityserver4 asp.net-core-webapi
我有一个奇怪的情况,如果我在Visual Studio 2017中运行Docker项目,则会收到一条错误消息: Cannot start service webapplication1: error while creating mount source path '/host_mnt/c/Users/MyUser/vsdbg/vs2017u5': mkdir /host_mnt/c/Users/MyUser/vsdbg/vs2017u5: permission denied
但是,如果我使用该命令运行相同的项目,则docker-compose up -d它会起作用。它不能仅是Visual Studio的权限问题。
private static void Main()
{
var accounts = new List<Account>()
{
new Account { PrimaryId = 1, SecondaryId = 10 },
new Account { PrimaryId = 1, SecondaryId = 12 }
};
}
public class Account
{
public int PrimaryId { get; set; }
public IList<int> SecondaryIds { get; set; }
public int SecondaryId { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
假设我有上面的代码,我想按PrimaryId分组并将SecondaryId合并到SecondaryIds中。
例如:
// PrimaryId = 1
// SecondaryIds = 10, 12
Run Code Online (Sandbox Code Playgroud)
如何才能实现呢?
到目前为止我已经这样做了
var rs = accounts.GroupBy(g => g.PrimaryId == 1) …Run Code Online (Sandbox Code Playgroud) 是否可以在 docker-compose 中拥有一个带有两个网络的 docker 容器,一个主机和另一个网桥?
我注意到,当我使用 Visual Studio 构建和运行 Docker 容器 ASP.NET Core 应用程序时,会使用最新的代码。同时,如果我运行 docker-compose build,则不会使用最新的代码。我需要在运行 docker-compose build 之前构建所有解决方案吗?
我想要一个具有多个 GET 的控制器,一个用于所有,一个带有 int 参数,另一个带有字符串参数。下面的例子仍然给我错误:
[ApiController]
[Route("[controller]")]
public class StudentsController : ControllerBase
{
[HttpGet]
public IEnumerable<Student> Get()
{
return GetStudents();
}
[HttpGet("{id}")]
public Student Get(int id)
{
return GetStudents().FirstOrDefault(s=> s.id == id);
}
[HttpGet("{name}")]
public Student Get(string name)
{
return GetStudents().FirstOrDefault(s=> s.name == name);
}
}
Run Code Online (Sandbox Code Playgroud)
编辑 当前我收到以下错误
我需要一个允许输入字符串包含一个或多个单词的正则表达式,但列表必须仅用一个点分隔。例如:
test = OK
test.test = OK
test.test.1 = OK
test@test = NO
test_test = NO
test-test1 = NO
test. = NO
Run Code Online (Sandbox Code Playgroud)
我的正则表达式有效,但也接受其他符号,例如 -
^[a-z0-9*.\-_\.:]+$
Run Code Online (Sandbox Code Playgroud) c# ×6
docker ×2
.net-core ×1
access-token ×1
asp.net-core ×1
entity-framework-core-migrations ×1
git ×1
linq ×1
regex ×1