Tôi đang cố chèn dữ liệu bằng Dapper.Contrib, trong bảng trong đó cột khóa chính không phải là cột nhận dạng.Làm cách nào để chèn dữ liệu khi cột khóa chính không phải là cột nhận dạng?
Bảng cơ sở dữ liệu được tạo ra với kịch bản này:
begin transaction
create table
dbo.Foos
(
Id int not null,
Name nvarchar(max) not null
)
go
alter table
dbo.Foos
add constraint
PK_Foos primary key clustered
(
Id
)
go
commit
Đây là lớp học C#:
public class Foo
{
public int Id { get; set; }
public string Name { get; set; }
}
Khi chèn dữ liệu như thế này:
connection.Insert(new Foo()
{
Id = 1,
Name = "name 1"
});
tôi nhận được như sau lỗi:
Cannot insert the value NULL into column 'Id', table 'FooDatabase.dbo.Foos'; column does not allow nulls. INSERT fails.
Dapper chính xác giả định, theo quy ước, rằng Id
là khóa chính, nhưng nó không chính xác giả định rằng nó là một cột nhận dạng. Làm thế nào tôi có thể chỉ ra rằng nó không phải là một cột nhận dạng?