Во-первых, если у вас нет первичного ключа в базе данных, то вы не сможете обновить через Linq-To-Sql.Если у вас есть первичный ключ, но вы просто не знаете, какой это, вы можете найти его в Linqpad, выполнив что-то вроде
var table = (from t in Mapping.GetTables()
where t.TableName == "[Table]" select t).SingleOrDefault();
(from dm in table.RowType.DataMembers
where dm.DbType != null && dm.IsPrimaryKey
select dm.Name)
.Dump("Primary Key");
Как только вы узнаете первичный ключ, вы можете сделать что-то вроде следующего, (Я предполагаю, что первичный ключ называется Id)
var oldList = (from s in Table
where s.FK_ID == null
select new{s.Id , s.FK_ID, s.Datum, s.PBNummer}).ToList() ;
Это похоже на ваш запрос, за исключением того, что я добавил первичный ключ
foreach(var r in oldList)
{
Table t = new Table();
t.Id = r.Id ;
Table.Attach(t);
t.FK_ID = new Guid(...some new guid here...));
}
SubmitChanges();