FreeSql icon indicating copy to clipboard operation
FreeSql copied to clipboard

1对1模式下,如果两个实体类的主键都设置了Id自增,会在保存的时候抛出异常 提示Id有值。

Open yangf85 opened this issue 1 year ago • 1 comments

要怎么处理?

问题描述及重现代码:

// c# code
 public class PersonEntity
 {
     [Column(IsPrimary = true, IsIdentity = true)]
     public int Id { get; set; }

     [Column(Position = 4)]
     public int Age { get; set; } = Random.Shared.Next(1, 36);

     [Column(Position = 3)]
     public Gender Gender { get; set; }

     [Column(Position = 2)]
     public string Name { get; set; }

     [Navigate(nameof(Id))]
     public OrderEntity Order { get; set; }
 }
public class OrderEntity
{
    [Column(IsPrimary = true, IsIdentity = true)]
    public int Id { get; set; }

    public string Number { get; set; }

    [Navigate(nameof(Id))]
    public PersonEntity Person { get; set; }

    [Navigate(nameof(Id))]
    public SummaryEntity Summary { get; set; }

    [Navigate(nameof(PartEntity.OrderId))]
    public List<PartEntity> Parts { get; set; }

    public string Notes { get; set; }
}

数据库版本

安装的Nuget包

.net framework/. net core? 及具体版本

image

yangf85 avatar Mar 31 '24 05:03 yangf85

一对一,怎么会两边同时自增。

2881099 avatar Apr 01 '24 00:04 2881099