В вашем коде есть некоторые недостатки.
Кажется, вы читаете одну Таблицу 1 (при условии, что идентификатор уникален), но вы рассматриваете ее как коллекцию
Быстрая попытка, поскольку вы все равно добавляете только однуtable1 одновременно: замените
db1.Table1.InsertAllOnSubmit(tab);
на
db1.Table1.InsertOnSubmit(tab);
Если ваш ID не уникален, попробуйте:
List<Table1> items = (from t in db.Table1
where t.ID.Equals(100)
select t).ToList();
Остальная часть кода может остатьсято же самое (но все равно замените InsertAllOnSubmit)
Обновление
Вы можете упростить bigtime:
using (var db = new
DataContext(ConfigurationManager.ConnectionStrings["DB"].ToString()))
{
Table1 thisTable = (from t in db.Table1
where t.ID. == 100
select t).SingleOrDefault();
if ( thisTable != null)
{
Table1 tab = new Table1 ()
{
FName = item.FName,
LName = item.LName,
Number = item.Number, };
db.Table1.InsertOnsubmit(tab)
db.SubmitChanges();
}
}
}
, если вы уверены на 100%, что ваш идентификаторвсегда соответствует использование .Single () вместо .SingleOrDefault ().Сингл сгенерирует исключение, если не найдено ни одного результата.В этом случае SingleOrDefault возвращает NULL.