Ric*_*ick 1 .net t-sql entity-framework identity-insert asp.net-core
我试图更新一行,同时忽略数据库中存在的标识列。
更新时我收到以下错误:
_context.Entry(existingEvent).Property(x => x.ReferenceNumber).IsModified = false;
_context.Events.Update(existingEvent);
Run Code Online (Sandbox Code Playgroud)
异常:Microsoft.EntityFrameworkCore.DbUpdateException:更新条目时发生错误。有关详细信息,请参阅内部异常。---> System.Data.SqlClient.SqlException:无法更新标识列“ReferenceNumber”。
我也尝试了以下方法,但这也导致了异常:
_context.Events.Update(existingEvent);
_context.Entry(existingEvent.ReferenceNumber).State = EntityState.Unchanged;
Run Code Online (Sandbox Code Playgroud)
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])
)
Run Code Online (Sandbox Code Playgroud)
你刚刚把代码颠倒过来了。 Update()将所有属性标记为已修改。如果您想排除其中一项,请稍后再进行。
_context.Events.Update(existingEvent);
_context.Entry(existingEvent).Property(x => x.ReferenceNumber).IsModified = false;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1313 次 |
| 最近记录: |