0
我有這個表
ID(INT,PK,AI),
字(VARCHAR 25)流利NHibernation唯一的字符串映射(忽略重複)
比方說,我允許用戶添加新的單個詞到我的數據庫。
我希望Nhibernate跳過添加新詞,如果它已經存在。
我怎樣才能流利地繪製它?這是可行的嗎?
由於
我有這個表
ID(INT,PK,AI),
字(VARCHAR 25)流利NHibernation唯一的字符串映射(忽略重複)
比方說,我允許用戶添加新的單個詞到我的數據庫。
我希望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();
}