Я пытаюсь записать результаты измерений от датчика в таблицу sql с именем MeasResult
.
Эта таблица имеет идентификатор в качестве первичного ключа и еще один идентификатор с именем MeasID
. Мне нужно увеличивать этот MeasureID на 1 каждый журнал измерений. В каждом журнале измерений будет добавлено 50 строк в базу данных, и эти последние добавленные строки должны иметь одинаковые MeasID.
Я попробовал следующее:
private void BtnSaveMeas_Click(object sender, EventArgs e)
{
using (LinqDataClassesDataContext dataContext = new LinqDataClassesDataContext())
{
var measid = dataContext.MeasResults.Max(x => x.MeasId) + 1;
string id = ""; string plane = ""; int pos = 0; int dist = 0; double apert = 0;
id = comboBMouldID.SelectedText;
plane = comboBSurface.SelectedText;
pos = Convert.ToInt32(txtTravelPos.Text);
for (int i = 0; i < daGridMeas.Rows.Count - 1; i++)
{
dist = Convert.ToInt32(daGridMeas.Rows[i].Cells[0].Value.ToString());
apert = Convert.ToDouble(daGridMeas.Rows[i].Cells[1].Value.ToString());
var st = new MeasResult()
{
st.MID = id,
st.Plane = plane,
st.Postn = pos,
st.Distnc = dist,
st.Apert = apert,
st.MeasId = measid
};
dataContext.MeasResults.InsertOnSubmit(st);
dataContext.SubmitChanges();
}
}
}
Я сделал три измерения и зарегистрировал их, но в базе данных столбец MeasID
для всех них пуст. Значением по умолчанию для столбца MeasID
является 1
.
Что я делаю не так?