На Mac можно сохранить пароль для частного ssh, вводят Связку ключей, которая делает использование из него прозрачным. Если Вы зарегистрированы, это доступно, когда Вы выходитесь из системы, Ваш пользователь root не может использовать его. Удаление пароля является плохой идеей, потому что любой с файлом может использовать его.
ssh-keygen -K
Добавляют это к ~/.ssh/config
UseKeychain yes
Решение нашел сам. Для работы автоматических отношений обеим таблицам нужны первичные ключи (ой). Обратите внимание, что в artworks_subjects отсутствует символ PK.
способ, которым я заставил M2M работать в LINQ2SQL:
теперь сущность tagSubject будет иметь набор из artwork_subjects , а artwork_subject будет иметь свойство типа artwork называется Artwork . так что теперь вы можете создать выражение LINQ, например
var x = dbcontext.tagSubjects.Single(s=>s.name=="Landscape").
Artwork_Subjects.
Select(as=>as.Artwork.Name);
Это во многом зависит от того, какой фреймворк вы используете. Это звучит так, как будто вы используете LINQ-to-SQL, что очень буквально в отношении таблиц к объектам. В Entity Framework есть встроенная поддержка "многие ко многим", в частности, для тривиального случая, который вы указали (таблица связывания без дополнительных свойств). EF обычно обнаруживает этот шаблон и скрывает таблицу ссылок от концептуальной модели (я не могу вспомнить, но для этого может потребоваться охват PK над двумя столбцами FK).
Конечно, это тогда испортится, если вы хотите добавить столбцы в таблицу ссылок; так что в некотором смысле у меня возникнет соблазн оставить все как есть.
Что касается , где
и т. д. - как вы имеете в виду? Вы можете выполнять соединения через ассоциацию, и вы должны иметь возможность использовать Any
и т. Д .;
Да. Вместо «многие ко многим» используйте два отношения «многие ко многим»:
Subject -*----1- ArtworkSubjectParticipation -1----*- Artwork