【问题标题】:Entity Framework update row while excluding IDENTITY column实体框架更新行同时排除 IDENTITY 列
【发布时间】:2020-03-10 12:39:58
【问题描述】:

我正在尝试更新一行,同时忽略数据库中存在的标识列。

更新时出现以下错误:

_context.Entry(existingEvent).Property(x => x.ReferenceNumber).IsModified = false;
_context.Events.Update(existingEvent);

异常:Microsoft.EntityFrameworkCore.DbUpdateException:更新条目时出错。有关详细信息,请参阅内部异常。 ---> System.Data.SqlClient.SqlException:无法更新标识列“ReferenceNumber”。

我也尝试了以下方法,但这也会导致异常:

_context.Events.Update(existingEvent);
_context.Entry(existingEvent.ReferenceNumber).State = EntityState.Unchanged;

System.InvalidOperationException:找不到实体类型“int”。确保实体类型已添加到模型中。

表:

CREATE TABLE [DW].[Reporting]
(
    [ID] UNIQUEIDENTIFIER NOT NULL,
    [ReferenceNumber] INT NOT NULL IDENTITY(1,1) UNIQUE,
    [Date] DATETIME NOT NULL,
    [Address] VARCHAR(256) NOT NULL,
    [EventName] VARCHAR(256),
    [Subject] VARCHAR(512),
    [PhotographerID] UNIQUEIDENTIFIER,
    [CameraNumber] VARCHAR(24),
    [PictureAmount] INT,
    [NegativeID] UNIQUEIDENTIFIER,
    [CategoryID] UNIQUEIDENTIFIER,
    [People] VARCHAR(256),

    CONSTRAINT [PK_Reporting] PRIMARY KEY (ID),
    CONSTRAINT [UV_Reporting_Code] UNIQUE ([ReferenceNumber]),
    CONSTRAINT [FK_Reporting_Photographers_PhotographerID] 
        FOREIGN KEY ([PhotographerID]) REFERENCES [DW].[Photographers]([ID]),
    CONSTRAINT [FK_Reporting_Negatives_NegativeID] 
        FOREIGN KEY ([NegativeID]) REFERENCES [DW].[Negatives]([ID]),
    CONSTRAINT [FK_Reporting_Categories_CategoryID] 
        FOREIGN KEY ([CategoryID]) REFERENCES [DW].[Categories]([ID])
)

【问题讨论】:

    标签: .net entity-framework tsql asp.net-core identity-insert


    【解决方案1】:

    你刚刚把代码颠倒过来了。 Update() 将所有属性标记为已修改。如果您想排除一个,请在之后进行。

    _context.Events.Update(existingEvent);
    _context.Entry(existingEvent).Property(x => x.ReferenceNumber).IsModified = false;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-31
      • 1970-01-01
      • 2018-05-19
      • 2015-12-20
      相关资源
      最近更新 更多