LINQ many-many отношения: Решение?

На Mac можно сохранить пароль для частного ssh, вводят Связку ключей, которая делает использование из него прозрачным. Если Вы зарегистрированы, это доступно, когда Вы выходитесь из системы, Ваш пользователь root не может использовать его. Удаление пароля является плохой идеей, потому что любой с файлом может использовать его.

ssh-keygen -K

Добавляют это к ~/.ssh/config

UseKeychain yes
6
задан Sam Harwell 3 September 2009 в 07:27
поделиться

4 ответа

Решение нашел сам. Для работы автоматических отношений обеим таблицам нужны первичные ключи (ой). Обратите внимание, что в artworks_subjects отсутствует символ PK.

3
ответ дан 10 December 2019 в 02:50
поделиться

способ, которым я заставил M2M работать в LINQ2SQL:

  1. перетащите таблицы в конструктор, как вы показываете в вопросе
  2. , удалите связь между artworks_subject и artwor k
  3. создают новую связь ОТ artworks_subject TO artwork
  4. щелкните новое отношение, чтобы получить его свойства
  5. изменяют мощность от OneToMany до OneToOne (потому что ManyToOne не существуют)
  6. открыть дочернее свойство раздел и измените поле Имя на сделать его особенным (Работы по Artwork)

теперь сущность tagSubject будет иметь набор из artwork_subjects , а artwork_subject будет иметь свойство типа artwork называется Artwork . так что теперь вы можете создать выражение LINQ, например

var x = dbcontext.tagSubjects.Single(s=>s.name=="Landscape").
    Artwork_Subjects.
    Select(as=>as.Artwork.Name);
5
ответ дан 10 December 2019 в 02:50
поделиться

Это во многом зависит от того, какой фреймворк вы используете. Это звучит так, как будто вы используете LINQ-to-SQL, что очень буквально в отношении таблиц к объектам. В Entity Framework есть встроенная поддержка "многие ко многим", в частности, для тривиального случая, который вы указали (таблица связывания без дополнительных свойств). EF обычно обнаруживает этот шаблон и скрывает таблицу ссылок от концептуальной модели (я не могу вспомнить, но для этого может потребоваться охват PK над двумя столбцами FK).

Конечно, это тогда испортится, если вы хотите добавить столбцы в таблицу ссылок; так что в некотором смысле у меня возникнет соблазн оставить все как есть.

Что касается , где и т. д. - как вы имеете в виду? Вы можете выполнять соединения через ассоциацию, и вы должны иметь возможность использовать Any и т. Д .;

2
ответ дан 10 December 2019 в 02:50
поделиться

Да. Вместо «многие ко многим» используйте два отношения «многие ко многим»:

Subject -*----1- ArtworkSubjectParticipation -1----*- Artwork
-1
ответ дан 10 December 2019 в 02:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: