Update TableToBeUpdated
Set ColumnNameId = (Select MasterColumnId
from MasterTable where Id = @Id)
Where ForeingKeyId = @Id
AND AnotherColumn = @AnotherColumn
Comment atteindre l'ci-dessus avec une instruction select et une déclaration de mise à jour avec une sous-requête?Mise à jour avec la valeur d'une requête de sélection dans LINQ to SQL
Actuellement ce que je pense est.
//First Select statement
var tableTBU = (from t in MsDataContext.TableToBeUpdated
where t.ForeingKeyId == <valueFromVariable>
select t).SingleOrDefault();
//Second select statement
var masterIdValue = (from m in MsDataContext.MasterTable
where m.Id == <valueFromVariable>
select mod.MasterColumnId).SingleOrDefault();
tableTBU.ColumnNameId = masterIdValue ;
tableTBU.SomeOtherColumn = "dkjsdlfs";
//Some more things to be updated.
//UpdateStatement
MsDataContext.SubmitChanges();
Je pense que j'ai compliqué la question et vous avez confondu à cause de cela. Ce serait génial si vous pouvez simplement convertir l'instruction T-SQL à LINQ. Je n'ai aucune clé étrangère spécifiée ou aucun mappage effectué manuellement sur le concepteur. Toujours en réalité MasterTable et TableToBeUpdated ont une relation à plusieurs. – IsmailS