0
より効率的なSQL構文のリンクテーブルに私は3つのテーブルを持っています。問題は、VideoKeywordsテーブルを効率的に構築する方法です。LINQの私のアプリケーションで
foreach (Video video in videosToIndex)
{
Dictionary<string, int> words = Util.GetDistinctWordsInName(video.Name);
video.VideoKeywords.Clear();
foreach (string word in words.Keys)
{
int keywordId = keywords.Where(x => x.Name == word).Select(x => x.ID).FirstOrDefault();
if (keywordId == 0)
{
Keyword kw = new Keyword() { Name = word };
dc.Keywords.InsertOnSubmit(kw);
dc.SubmitChanges();
keywordId = kw.ID;
keywords.Add(kw);
}
video.VideoKeywords.Add(new VideoKeyword() { VideoID = video.ID, KeywordID = keywordId, Occurrences = words[word] });
}
video.IndexedDateTime = DateTime.Now;
}
dc.SubmitChanges();
これはかなりうまく動作しますが、新しいキーワードを持つときに、データの変更を提出せずにこれを行う方法がある場合、私は興味があるだろう:
私は、次のアルゴリズムを実行します。そのキーワードは一時的なIDを持つことができますか?
どうもありがとう、
ラドゥ