2008-10-14 23 views
5

6 sütun içeren bir veritabanı tablom var. Birincil anahtar, 6 sütuntan oluşan birleşik bir anahtardır.Kompozit anahtarlarla ADO.NET SQLCommandBuilder'ı kullanabilir misiniz?

Satırı silmek için SqlClient.SqlCommandBuilder.GetDeleteCommand kullanmaya çalışıyorum.

SELECT TABLENAME.COL1, TABLENAME.COL2, TABLENAME.COL3, 
     TABLENAME.COL4, TABLENAME.COL5, TABLENAME.COL6 
FROM TABLENAME 

sorun kompozit anahtar olabilir:

"System.InvalidOperationException : Dynamic SQL generation for the DeleteCommand is not supported against a SelectCommand that does not return any key column information."

SelectCommmand tablodaki tüm sütunları içerir:

Ancak aşağıdaki hatayı alıyorum?

cevap

1

Sorununuzun bileşik anahtar olduğunu düşünmüyorum. Belgelere göre, birincil anahtarın tek bir sütun olması gerekmez. Ancak, otomatik olarak ifadeler oluşturmak için gerekli olan başka sınırlamalar vardır. Bir şeyleri kaçırmadığınızı doğrulamak için this document'u okumaya çalışın.

+0

Teşekkürler, bu yararlı bir belgedir. Maalesef, bahsi geçen sınırlamaların hiçbiri benim koduma uygulanmadı. –

İlgili konular