Jump to content

C# Linq to Entities - Reference.EntityKey

- - - - -

  • Please log in to reply
No replies to this topic

#1
Priere Law

Priere Law

    Newbie

  • Members
  • Pip
  • 1 posts
Now that I have built a database and here is the corresponding SQL code:

carease15test1.sql



Visual Studio 2008 SP1’s ADO.NET Entity Framework has generated an Entity Model like this:

Attached File  carease15test1ef.png   12.55K   14 downloads

I have created some methods as follows:


       private void buttonAddPatient_Click(object sender, EventArgs e)


        {


            using (carease15test1Entities context = new carease15test1Entities())


            {


                long bnumber = Convert.ToInt32(textBoxToBed.Text);


                long rnumber = Convert.ToInt32(textBoxOfRoom.Text);


 


                long bid = (from b in context.bed


                            where b.bnumber == bnumber


                            select b.bid).First();


               


                long rid = (from r in context.room


                            where r.rnumber == rnumber


                            select r.rid).First();


 


                // Create a new bed, and input its details.


                patient p = new patient();


                p.pname = textBoxPatient.Text;


                p.Bed_bid = bid;


                p.bedReference.EntityKey = new EntityKey("carease15test1Entities.bed", "bid", bid);


                p.Bed_Room_rid = rid;


                p.bed.roomReference.EntityKey = new EntityKey("carease15test1Entities.room", "rid", rid);


 


                context.AddTopatient(p);


                try


                {


                    context.SaveChanges();


                }


                catch (OptimisticConcurrencyException ex)


                {


                    // Resolve the concurrency conflict by refreshing the // object context before re-saving changes.


                    context.Refresh(System.Data.Objects.RefreshMode.ClientWins, p);


                    // Save changes.


                    context.SaveChanges();


                }


                catch (Exception ex)


                {


                    MessageBox.Show(ex.Message);


                }


            }



Everything works perfectly except for

p.bed.roomReference.EntityKey = new EntityKey("carease15test1Entities.room", "rid", rid);

in the method private void buttonAddPatient_Click(object sender, EventArgs e).

It turns out a NullRefenceException saying “Object reference not set to an instance of an object.”

Here is my project files.

http://www.mediafire...w3rjjbxbxw6wacv

Could anyone give me some help?

Thank you so much.




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users