Savechanges() не вставляет никаких записей в базу данных
SaveChanges() не вставляет никаких записей в базу данных
обновление кода работает но вставка кода не работает
мой код :
var DBs2 = ConnectionTools.OpenConn(); DBs2.Configuration.AutoDetectChangesEnabled = false; DBs2.Configuration.ValidateOnSaveEnabled = false; var resList = CreatedSerials.Where(u => u.Item4 == VID).ToList(); foreach (var r in resList) { // if serial id ==0 => new then add it as new if ( r.Item7 == 0) { try { var purchasesItemSerials = new purchases_item_seriels() { pitem_ID = pitem_ID, stitems_ID = r.Item1, pmain_ID = PurchasesID, pitem_virtualID = r.Item4, pis_CustomSerial = r.Item2, pis_ExpireDate = r.Item3, pis_Statues = 0, ss_StoreID = Convert.ToInt32(gridView1.GetRowCellValue(ItemImdex, "storeID")), Purchases_Price = Convert.ToDecimal(gridView1.GetRowCellValue(ItemImdex, "item_NetSmallestUnitPrice")), }; ss.Add(purchasesItemSerials); } catch (Exception eeeeee) { Msg.Show("", eeeeee.ToString(), 0);return; } } else { var DBs350 = ConnectionTools.OpenConn(); var UpdateSerial = DBs350.purchases_item_seriels.Find(r.Item7); UpdateSerial.pitem_ID = pitem_ID; UpdateSerial.stitems_ID = r.Item1; UpdateSerial. pmain_ID = PurchasesID; UpdateSerial.pitem_virtualID = r.Item4; UpdateSerial.pis_CustomSerial = r.Item2; UpdateSerial.pis_ExpireDate = r.Item3; UpdateSerial.pis_Statues = r.Item6; UpdateSerial.ss_StoreID = Convert.ToInt32(gridView1.GetRowCellValue(ItemImdex, "storeID")); UpdateSerial.Purchases_Price = Convert.ToDecimal(gridView1.GetRowCellValue(ItemImdex, "item_NetSmallestUnitPrice")); DBs350.SaveChanges(); } } try { DBs2.purchases_item_seriels.AddRange(ss); DBs2.SaveChanges(); } catch (Exception eeeeee) { Msg.Show("", eeeeee.ToString(), 0);return; }
Что я уже пробовал:
я тоже пытался :
DBs2.Configuration.AutoDetectChangesEnabled = true; DBs2.Configuration.ValidateOnSaveEnabled = true;
данные не вставляются , ошибки не появляются
-- я пытался :
int returnCode = DBs2.SaveChanges();
и код возврата = 0
-- я пробовал и это :
// if this serial is new var NewSerialresList = CreatedSerials.Where(u => u.Item4 == VID && u.Item7 == 0).ToList(); if (NewSerialresList.Count() > 0) { var ss = new List<purchases_item_seriels>(); foreach (var r in NewSerialresList) { try { mrsalesdbEntities DBs002 = new mrsalesdbEntities(); var purchasesItemSerials = new purchases_item_seriels() { pitem_ID = pitem_ID, stitems_ID = r.Item1, pmain_ID = PurchasesID, pitem_virtualID = r.Item4, pis_CustomSerial = r.Item2, pis_ExpireDate = r.Item3, pis_Statues = 0, ss_StoreID = Convert.ToInt32(gridView1.GetRowCellValue(ItemImdex, "storeID")), Purchases_Price = Convert.ToDecimal(gridView1.GetRowCellValue(ItemImdex, "item_NetSmallestUnitPrice")), }; //ss.Add(purchasesItemSerials); DBs002.purchases_item_seriels.Add(purchasesItemSerials); DBs002.SaveChanges(); } catch (Exception ex) { Msg.Show("", ex.ToString(), 0); } } int CC = ss.Count(); }
George Swan
Вы проверили, что переменная 'ss' не пуста?
Golden Basim
нет 'ss' есть 2 записи ( количество новых записей).
sajeetharan
что такое DBs350 здесь ?
Golden Basim
публичный статический mrsalesdbEntities OpenConn()
{
mrsalesdbEntities MrSalesContext = новые mrsalesdbEntities();
MrSalesContext.ChangeDatabase
(
initialCatalog: myconn.в базе данных,
порт: конвертировать.ToUInt32( myconn.port),
идентификатор пользователя: myconn.uid,
пароль: myconn.password,
источник данных: myconn.server
);
возврат MrSalesContext;
}
var DBs350 = ConnectionTools.OpenConn();
Gerry Schmitz
Вы должны попробовать какой-нибудь "чистый" EF-код, а не свой "фреймворк" (который, очевидно, имеет некоторые проблемы).
И подход "ленивого человека" "var" также не обеспечивает большой "ясности".
(Вы можете использовать "var"; затем используйте VS, чтобы заменить его явным определением типа.)
Golden Basim
я попробовал это и тот же результат
// если этот серийный номер новый
var NewSerialresList = CreatedSerials.Где(у =&ГТ; у.Item4 == вид &усилитель;& ЕД.Item7 == 0).Список();
если (NewSerialresList.Count() > 0)
{
var ss = новый список<purchases_item_seriels>();
foreach (var r в NewSerialresList)
{
пробовать
{
//var DBs002 = ConnectionTools.OpenConn();
mrsalesdbEntities DBs002 = новые mrsalesdbEntities();
var purchasesItemSerials = новые purchases_item_seriels()
{
pitem_ID = pitem_ID,
stitems_ID = Р.Элемент1,
pmain_ID = PurchasesID,
pitem_virtualID = r.Item4,
pis_CustomSerial = Р.Место № 2,
pis_ExpireDate = r.Item3,
pis_Statues = 0,
ss_StoreID = конвертировать.ToInt32(gridView1.GetRowCellValue(ItemImdex, "storeID")),
Purchases_Price = Конвертировать.ToDecimal(gridView1.GetRowCellValue(ItemImdex, "item_NetSmallestUnitPrice")),
};
//ss.Add(purchasesItemSerials);
DBs002.purchases_item_seriels.Добавить(purchasesItemSerials);
DBs002.Метод SaveChanges();
}
поймать (исключение бывший)
{
Msg.Show("", ex.ToString(), 0);
}
}
}