gpt4 book ai didi

database - Fk 不允许 SQL Server 中的重复数据 (ASPNETZero)

转载 作者:行者123 更新时间:2023-12-05 06:22:31 24 4
gpt4 key购买 nike

我正在使用 AspNet 零框架代码优先方法,我有两个实体,父 questionOption 和子实体 userAnswer 与 Fk QuestionOptionId,UserAnswer 不允许重复的 QuestionOptionId,即使我没有在 questionOptionId 上创建任何索引 aur unique constrant(我已经提到过图片)。它不会给出任何异常或任何错误查询成功执行但不会创建新的重复/新记录

what i have tried so far

  • 如果我使用插入查询手动输入数据 SqlServe 允许我insert duplicate questionOptionId buy ASPNet 零不添加/插入任何重复的 QuestionOptionId,
  • QuestionOptionId 不是 null 字段只是为了检查我让它可以为 null 并尝试保存重复记录我创建了新记录但更新了以前的记录 questionOptionId 为 null

here is my insertLink Query

 public async Task RCreateOrEdit(CreateOrEditUserAnswerDto input)
{
var userAnswer = ObjectMapper.Map<UserAnswer>(input);
if (AbpSession.TenantId != null)
{
userAnswer.TenantId = (int)AbpSession.TenantId;
}

await _userAnswerRepository.InsertAsync(userAnswer);
await CurrentUnitOfWork.SaveChangesAsync();
input.Id = userAnswer.Id;
}

this is what SQL SERVER created

enter image description here

ChildModel

 public class UserAnswer : FullAuditedEntity<long>, IMustHaveTenant
{
public int TenantId { get; set; }


public virtual long UserId { get; set; }

public virtual long QuestionId { get; set; }

public string UserComment { get; set; }

public virtual long SessionId { get; set; }

[ForeignKey("SessionId")]
public Session SessionFk { get; set; }

public virtual long QuestionOptionId { get; set; }
public QuestionOption QuestionOptionFk { get; set; }

}

Desired Result: I want UserAnswer entity will allow me to add duplicate QuestionOptionFk

最佳答案

public class UserAnswer : FullAuditedEntity<long>, IMustHaveTenant
{
public int TenantId { get; set; }


public virtual long UserId { get; set; }

public virtual long QuestionId { get; set; }

public string UserComment { get; set; }

public virtual long SessionId { get; set; }

[ForeignKey("SessionId")]
public Session SessionFk { get; set; }

public virtual long QuestionOptionId { get; set; }
public ICollection<QuestionOption> QuestionOptionFk { get; set; }

}

Define relation using array of class instead of class according to Conventions of one to many relationship

关于database - Fk 不允许 SQL Server 中的重复数据 (ASPNETZero),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59261683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com