views:

41

answers:

1

I have a 'user' table, a 'phone number' table and a 'user to phone number map' table. The phone number table stores only unique phone numbers. This way I can take a look at a phone number and see who is using it easily. It is also easy to check if a phone number exists when the user is edited.

The question is how I should be checking to see if the phone number should be added to the map. I could loop over the loaded mapped users and check each id. There must be a method that I can use to check like EdmUser.phone_number_map.contains(PhoneNumber). However I cant find anything like this.

A: 

Presuming the entity has a property called PhoneNumber which contains the string of the number...

var pnm = EdmUser.phone_number_map; // to save typing later on...
if !(pnm.IsLoaded) pnm.Load();
var existing = pnm.Where(pn => pn.PhoneNumber.Equals(PhoneNumber, StringComparison.WhateverYouNeed)).FirstOrDefault();
if (existing == null)
{
    pnm.Add(new PhoneNumberEntity { PhoneNumber = PhoneNumber } );
}
else
{
    // do stuff with "existing", if need be.
}
Context.SaveChanges();

Adjust accordingly if I've guessed your metadata incorrectly.

Craig Stuntz