現在のシーケンスを取得して次の値にインクリメントするこのシーケンス生成クエリがあります。しかし、増分は更新されていません。nextvalは、データベースのデフォルト値である1を常に返します。
Entity | StartVal | Increment | CurVal | NextVal
----------------------------------------------------
INVOICE | 0 | 1 | 0 | 1
nextvalは3、5、7などになります
int nextVal = 0;
using (var db = new MedicStoreDataContext())
{
DAL.LINQ.Sequence seq = (from sq in db.Sequences
where sq.Entity == entity
select sq).SingleOrDefault();
if (seq != null)
{
nextVal = seq.NextVal.HasValue ? seq.NextVal.Value : 0;
seq.NextVal = nextVal + 2;
db.SubmitChanges();
}
}
何かをやり残しましたか?
更新: 回答:主キーを設定し、主キーを含めるようにシーケンスクラスフィールドを更新する必要がありました