Zmena cudzieho kľúča v LINQ to SQL
·
Igor Kulman
Ak používate LINQ to SQL a pri zmene cudzieho kľúča nejakej entity ste narazili na výnimku System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException nezúfajte, riešenie je veľmi jednoduché. Namiesto zmeny cudzieho kľúča typu
dbUser.PositionId = newPositionId
stačí priame priradenie odkazovanej entity
dbUser.PositionId = (from p in db.Positions where p.Id = newPositionId select p).SingleOrDefault();
prípadne si na to môžete napísať nejaký helper alebo compiled query .