Допустим, у меня есть две таблицы (Address
и Phone
) в sql, которые имеют отношение один к одному. Я создал соответствующие классы linq to sql и изменил ассоциацию на OneToOne
Я хочу получить оба объекта путем фильтрации дочернего объекта. например, у меня есть следующий запрос, который отлично работает:
var n = db.Addresses.Where(t => t.Phone.Number == 100);
Можно ли как-нибудь сделать следующую работу:
var n = db.Addresses.Where(t => t.Phone == new Phone(100));
Конструктор класса Phone
выше инициализирует свойство Number
. Как я вижу, запрос, который выдается, содержит предложение, которое фильтрует таблицу Phones по идентификатору (первичному ключу), но не входит в число.
Если я установил Number
в качестве первичного ключа в Visual Studio, он включается в предложение where, но поиск все равно ничего не возвращает, поскольку значение параметра для id равно 0. Даже если это сработало, это не решение, так как Number
не должен быть первичным ключом.