none
Entity Framework: Insert in eine Tabelle mit GUID (uniqueidentifier) als Primärschlüssel RRS feed

  • Frage

  • Hallo,

    in unserer Datenbank gibt es eine Tabelle tbBooking mit einer Spalte coBookingId als Primärschlüssel. coBookingId ist als GUID bzw. uniqueidentifier definiert und muss Client-seitig gefüllt werden.

    Das einzufügende Objekt wird mit der generierten Methode CreatetbBooking erzeugt. Der Parameter coBookingId wird mit Guid.NewGuid() gefüllt. (Auch alle anderen Felder sind korrekt gefüllt.)

        public partial class tbBooking : EntityObject
        {
           public static tbBooking CreatetbBooking(global::System.Guid coBookingId, global::System.Guid coOwnerObjectId, global::System.Guid coBookingActionObjectId, global::System.DateTime coBookingTime, global::System.Int16 coApprovalStatus)
            {
                tbBooking tbBooking = new tbBooking();
                tbBooking.coBookingId = coBookingId;
                tbBooking.coOwnerObjectId = coOwnerObjectId;
                tbBooking.coBookingActionObjectId = coBookingActionObjectId;
                tbBooking.coBookingTime = coBookingTime;
                tbBooking.coApprovalStatus = coApprovalStatus;
                return tbBooking;
            }

    Dann wird versucht, die Buchung über die generiert Methode AddTotbBooking in das Entity einzufügen:

            public void AddTotbBooking(tbBooking tbBooking)
            {
                base.AddObject("tbBooking", tbBooking);
            }

    Dabei wird folgende Exception ausgelöst: "The EntityKey property can only be set when the current value of the property is null."

    Auch wenn der Parameter coBookingId wird mit Guid.Empty gefüllt wird, tritt die Exception auf. (null für diesen Parameter ist aufgrund der generierten Schnittstelle global::System.Guid coBookingId nicht möglich.)

    Wer kann hier helfen?

    Rolf

    Mittwoch, 29. September 2010 05:52

Antworten