Igor Kulman

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 .