仅将更改应用于特定表

有一个代码使用单个 linq 上下文对象来处理多个表。更改一些值后,我需要在 DB 中更新它们。它是通过 SubmitChanges 函数实现的,它应用所做的所有更改。代码看起来像这样:


MyDBDataContext ctx = new MyDBDataContext(connectionString);


first_table_object first = (from f in ctx.first_table_objects select f).FirstOrDefault();

first.property = 1;


second_table_object second = (from s in ctx.second_table_objects select s).FirstOrDefault();

second.property = 2;


//ctx.SubmitChanges();

ctx.SubmitChangesOnlyToTheSecondTable();

是否可以只更新一个表而不是提交所有更改?


ABOUTYOU
浏览 88回答 1
1回答

慕桂英4014372

为此,您可以分离从第一个表中检索到的对象。您可以通过使用AsNoTracking()来实现它。这将指示 EF 不处理对来自的实体所做的更改first_table_objects first_table_object first = (ctx.first_table_objects.AsNoTracking().Select(s => s)).FirstOrDefault()
打开App,查看更多内容
随时随地看视频慕课网APP