【问题标题】:EF Core computed primary key property not updatingEF Core 计算的主键属性未更新
【发布时间】:2019-03-21 22:28:28
【问题描述】:

我在我的实体中有一个这样配置的 SQL Server 中的计算主键:

        var e = builder.Entity<MyEntity>();

        e.ToTable("MyTable", "MySchema")
            .HasKey(k => k.Id);

        e.Property(k => k.Id)
            .ValueGeneratedOnAdd();

        e.Property(k => k.Id)
            .Metadata.BeforeSaveBehavior = PropertySaveBehavior.Ignore;

        e.Ignore(i => i.PreviousId);

如何在 EF Core 2.1 中保存更改后更新属性?

myEntity.RelatedProperty = 1;
_db.SaveChangesAsync();

// Here I want to have my updated Id

更新: 这是表定义:

CREATE TABLE [MySchema][MyTable](
    [Id]  AS (isnull((CONVERT([nvarchar],[RelatedProperty],(0))+'-')+CONVERT([nvarchar],[RelatedProperty2],(0)),'-')) PERSISTED NOT NULL,
    [RelatedProperty] [int] NOT NULL,
    [RelatedProperty2] [int] NOT NULL   
 CONSTRAINT [PK_MyTable] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

【问题讨论】:

    标签: sql-server entity-framework ef-core-2.1 computed-properties


    【解决方案1】:

    你没有。不支持更改 PK。如果您认为这是一个问题 - 等到您开始尝试在外键关系中使用它们。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-10
      • 2019-03-26
      • 2019-04-18
      • 2020-08-11
      • 2014-03-01
      • 2019-10-03
      • 2017-07-29
      相关资源
      最近更新 更多