Я создаю веб-страницу для регистрации нового студента. Для того, чтобы зарегистрировать студента, мы должны предоставить данные по 4 объектам (таблицы). Это материнский стол, папиный стол, контактный стол и ученический стол. Я создал модель представления, включив все поля вышеупомянутых объектов, и попытался вставить данные или зарегистрировать студента. Мой код работает хорошо. Но когда я регистрирую ученика одного из родителей, который уже зарегистрировался, я буду вводить данные только для двух таблиц ученик и контактное лицо. Я разработал логи c и пытаюсь передать данные, но они не работают и возникают;
"SqlException: строка или двоичные данные будут усечены. Оператор завершен". Могу ли я узнать, какую ошибку я совершил?
Мой код лога c Вставки выглядит следующим образом:
public ActionResult Insert(StudentRegVM std)
{
using (_context) {
if (! (std.IsExist == "T")) //checks, are parents exist? or not
{ // this block works for new parents only
var m = new Mother();
var f = new Father();
m.NIC = std.NIC;
m.FName = std.FNameM;
m.DOB = std.DOBM;
m.Job = std.Job;
m.Office = std.Office;
m.Race = std.RaceM;
m.Religion = std.ReligionM;
m.Tel_Mob = std.Tel_Mob;
m.Tel_Off = std.Tel_Off;
f.NIC = std.NICF;
f.FName = std.FNameF;
f.DOB = std.DOBF;
f.Job = std.JobF;
f.Office = std.OfficeF;
f.Race = std.RaceF;
f.Religion = std.ReligionF;
f.Tel_Mob = std.Tel_Mob_F;
f.Tel_Off = std.Tel_Off_F;
_context.Add(m);
_context.Add(f);
}
var c = new ContactPerson();
var s = new Student();
c.Address = std.AddressCP;
c.Name = std.NameCP;
c.Relationship = std.Relationship;
c.Tel = std.TelCP;
c.Tel2 = std.Tel2CP;
s.Add_No = std.Add_No;
s.DateOfAdd = std.DateOfAdd;
s.GradeOfAdd = std.GradeOfAdd;
s.House = std.House;
s.F_Name = std.F_Name;
s.S_Name = std.S_Name;
s.DOB = std.DOB;
s.Race = std.Race;
s.Religion = std.Religion;
s.BloodGroup = std.BloodGroup;
s.Tel_H = std.Tel_H;
s.Address = std.Address;
s.GND = std.GND;
s.OtherDetails = std.OtherDetails;
//foriegn keys
s.FatherId = std.NICF;
s.MotherId = std.NIC;
s.ContactPersonId = std.TelCP;
s.ClassId = std.ClzId;
//feeding data
_context.Add( s);
_context.Add(c);
_context.SaveChanges();
}
return RedirectToAction("Index");
}