私はこのテーブル
ID(int、pk、ai)、
word(varchar 25)を持っています
ユーザーがデータベースに新しい単語を追加できるようにしているとしましょう。
Nhibernateがすでに存在する場合は、新しい単語の追加をスキップしてほしい。
どうすれば流暢にマッピングできますか?それは実行可能ですか?
ありがとう
私はこのテーブル
ID(int、pk、ai)、
word(varchar 25)を持っています
ユーザーがデータベースに新しい単語を追加できるようにしているとしましょう。
Nhibernateがすでに存在する場合は、新しい単語の追加をスキップしてほしい。
どうすれば流暢にマッピングできますか?それは実行可能ですか?
ありがとう
マッピング:
Map(x => x.Word).Unique(); // just to make sure it is unique
コード:
void AddWords(ICollection<string> words)
{
var existingWords = session.QueryOver<UniqueWord>()
.WhereRestrictionOn(w => w.Word).In(words)
.Select(w => w.Word)
.List<string>();
foreach(var word in words.Except(existingWords))
{
session.Save(new UniqueWord(word));
}
session.Flush();
}