2009-12-23 3 views
0

У меня есть таблица «user», таблица «номер телефона» и таблица «номер телефона для номера телефона». В таблице номеров телефонов хранятся только уникальные номера телефонов. Таким образом, я могу взглянуть на номер телефона и посмотреть, кто его легко использует. Также легко проверить, существует ли номер телефона, когда пользователь отредактирован.Как проверить, существует ли сущность во многих отношениях?

Вопрос в том, как я должен проверять, следует ли добавить номер телефона на карту. Я мог бы перебрать загруженные сопоставленные пользователи и проверить каждый идентификатор. Должен быть метод, который я могу использовать для проверки типа EdmUser.phone_number_map.contains (PhoneNumber). Однако я не могу найти ничего подобного.

ответ

0

Предположив объект имеет свойство, называемое PhoneNumber, который содержит строку числа ...

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(); 

Отрегулировать соответственно, если я догадалась метаданные неправильно.