Как вы получаете предмет? Вы получаете это через dbcontext? или dbClient?
При использовании модели сопротивления объекта , вам нужно просто сохранить предмет. фреймворк позаботится об обновлении в фоновом режиме. Я предполагаю / предполагаю, что вы загружаете данные вне dbcontext. Поэтому, когда вы собираетесь сохранить его, предполагается, что вы хотите создать новый элемент.
Мое предположение - то, что это - корреляция, между которой теги чаще всего используются вместе.
Например:
Затем естественно предположить, что tag2 "связан с" tag1.
Я сказал бы, что лучшее место для изучения будет книгой Коллективного разума Программирования O'Reilly.
Хм, я не очень хорош в математике :-), но кажусь, что Вы ищете корреляцию между двумя тегами. Мой первый инстинкт должен был бы установить математическое ожидание на 50% (ожидание, что каждый тег появляется на 50% статей - это могло бы быть путем прочь), вычислите коэффициент корреляции тегов в парах и решите, что, если корреляция выше определенного значения (который необходимо определить путем экспериментирования), они связаны.
Кроме того, Вы могли бы добраться при помощи простой меры как (количество статей они co-appear) / (общее количество статей, где по крайней мере один тег появляется).
Несколько путей приходят на ум. Вы могли просто сделать быстрый запрос к связанным с выбором именам тега:
SELECT * FROM tags WHERE tag_name LIKE '%$current_tag%'
Иначе должен был бы на самом деле установить Вашу таблицу тега, чтобы иметь поле отношений, возможно, связанные идентификаторы, разделенные запятыми, но это кажется адским для поддержания.
Я уверен, что кто-то придумает лучший ответ, таким образом, мне будет довольно любопытно также.
Может быть, так отслеживает, сколько тегов времени собрано вместе
Я вставляю Q1 с тегами A + B, поэтому RelationshipWeight (A, B) = 1
Я вставляю Q2 с тегами A + B, поэтому RelationshipWeight (A, B) = 2
Теперь я удаляю Q1 и Q2. я должен знать "RelationshipWeight" к отсоединять теги, когда Relationship = 0
Использование:
(DataAccessDataContext db = new DataAccessDataContext())
{
Repeater1.DataSource = from rt in db.RelatedTags where st.ITEMID == itemid select new TagView() { ID = rt.Tag.ID, NAME = rt.Tag.NAME };
Repeater1.DataBind();
}
///:)