Параметр находится вне диапазона db.SaveChanges() в EFC#

Место общения программистов C#
Ответить
Anonymous
 Параметр находится вне диапазона db.SaveChanges() в EF

Сообщение Anonymous »

Я разрабатываю приложение MVC с помощью Entity Framework. Я использую подход «сначала база данных», и в моей базе данных есть числовое поле следующего вида:

Код: Выделить всё

[N15]  NUMERIC (1, 1)  NULL,
Мой код, в котором я получаю сообщение об ошибке:

Код: Выделить всё

public ActionResult allsave(VchrViewModel v)
{
List chklist = this.dt;
if (br.vchrbalance(chklist) == true)
{
trm = v.master;
trm.S100 = vt;
var n = db.TrMs.Max(x => x.N100);
trm.N100 = n + 1;
trm.S104 = getmonth(trm.D1.ToString());
trm.S103 = getyear(trm.D1.ToString());
db.TrMs.Add(trm);
db.SaveChanges();
seid = 0;
var s = this.dt;
foreach (TrD trd in s)
{
trd.S100 = vt;
var d = db.TrDs.Max(x => x.N100);
trd.N100 = d + 1;
trd.N101 = v.master.N100;
db.TrDs.Add(trd);

db.SaveChanges();
TrnYes4MST(trd.S1);
}
return Json(new { msg = "Y" });
}
else
{
return Json(new { msg = "N" });
}
}
Я получаю записи для двух разных таблиц из представления. Я успешно сохранил запись в первой таблице с именем «TrM», которая не имеет значения для N15. Но в цикле foreach для таблицы «TrD» для первой итерации N15 = 1.
Но при использовании метода db.SaveCHanges() я получаю следующую ошибку.

Код: Выделить всё

Parameter {1.0} is out of range
Я восстановил файл edmx, но все еще не могу его разрешить.

Подробнее здесь: https://stackoverflow.com/questions/318 ... nges-in-ef
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»