相关疑难解决方法(0)

EntityFramework 6 AddOrUpdate不使用复合或复合主键

这个问题一直是我周末的噩梦......我有一张表AddOrUpdate不能正常工作,它不断添加,但从不更新.

我想要做的就是当我向表中添加一个新实体时,AddOrUpdate我希望它检查AppointmentIdCompletionCodeId列,如果它们匹配而不是更新,否则添加.

表结构:

CREATE TABLE [dbo].[AppointmentCodes] (
    [Id]               INT IDENTITY (1, 1) NOT NULL,
    [AppointmentId]    INT NOT NULL,
    [Quantity]         INT NOT NULL,
    [CompletionCodeId] INT NOT NULL,
    CONSTRAINT [PK_AppointmentCodes] PRIMARY KEY CLUSTERED ([Id] ASC, [AppointmentId] ASC));
Run Code Online (Sandbox Code Playgroud)

^^不确定这是否正确.

public void AddOrUpdate(T entity)
{
    //uses DbContextExtensions to check value of primary key
    _context.AddOrUpdate(entity);
    Commit();
}
Run Code Online (Sandbox Code Playgroud)

方法

public void AddAppointmentCodes(List<AppointmentCode> appointmentCodes)
{
    appointmentCodes.ForEach(x => _appointmentCodeRepository.AddOrUpdate(x));
}
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server entity-framework foreign-keys

10
推荐指数
1
解决办法
5259
查看次数

标签 统计

c# ×1

entity-framework ×1

foreign-keys ×1

sql ×1

sql-server ×1