是否只有在status ='S'时才有避免重复行的方法?例:

我试图创建一个索引“ unique”,但是当status ='N'时,它应该允许重复,所以它不能正常工作。
是否有任何建议以避免在SQL中重复?
我正在遵循“应用程序体系结构指南”(Jetpack),它无法解析以下引用。
我已经添加了库:
build.gradle(模块:应用程序):
def lifecycle_version = "2.0.0"
implementation "androidx.lifecycle:lifecycle-runtime:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
Run Code Online (Sandbox Code Playgroud)
build.gradle(项目:ProjectName)
allprojects {
repositories {
google()
jcenter()
}
}
Run Code Online (Sandbox Code Playgroud)
工作中缺少什么?
我正在编写一个 API,需要访问实体的值并检查它是否已更改 (userChangedPairOrSingle)。
\n\npublic ActionResult<ProdutoFabricante> Put([FromBody] ProdutoFabricanteViewModel produtoFabricanteViewModel)\n {\n if (produtoFabricanteViewModel.Invalid)\n {\n return StatusCode(400, produtoFabricanteViewModel);\n }\n\n try\n {\n var actualProdutoFabricante = produtoFabricanteRepository.GetById(produtoFabricanteViewModel.Id);\n\n if (produtoFabricanteService.userChangedPairOrSingle(produtoFabricanteViewModel, actualProdutoFabricante.Par))\n {\n\n if (produtoFabricanteService.produtoFabricanteHasItems(produtoFabricanteViewModel.Id))\n {\n return StatusCode(400, new { Message = "N\xc3\xa3o \xc3\xa9 poss\xc3\xadvel alterar " });\n }\n }\n\n actualProdutoFabricante = mapper.Map<ProdutoFabricante>(produtoFabricanteViewModel);\n\n\n produtoFabricanteRepository.Update(actualProdutoFabricante);\n return Ok(actualProdutoFabricante);\n }\n catch (Exception ex)\n {\n return StatusCode(500, (ex.Message, InnerException: ex.InnerException?.Message));\n }\n }\nRun Code Online (Sandbox Code Playgroud)\n\n但是,当我访问要更新的同一实体时,它会出现以下错误:
\n\n\n\n\n无法跟踪实体类型“ProdutoFabricante”的实例,因为已跟踪具有键值“{Id: 13}”的另一个实例。附加现有实体时,请确保仅附加一个具有给定键值的实体实例。
\n
我怎样才能避免这个错误?
\nrepository-pattern entity-framework-core asp.net-core asp.net-core-webapi