[英]How to update two columns in linq2db?
如何在沒有 get 的情況下更新 Linq2db 中的兩列。 示例:在 sql 服務器命令中
Update teachers
set CandidateTotal= (Select count(1) from Candidates where TeacherId = 1)
如何轉換為 LINQ2DB 查詢? 不要使用 SQL 命令。
要更新多個列,您必須多次重復Set
運算符:
db.GetTable<Teacher>()
.Where(t => t.Id == 1)
.Set(t => t.CandidateTotal, t => db.GetTable<Candidate>().Where(c => c.TeacherId == t.Id).Count())
.Set(t => t.IsUpToDate, t => true)
.Update();
它生成以下 SQL:
UPDATE
[Teacher]
SET
[CandidateTotal] = (
SELECT
Count(*)
FROM
[Candidate] [c_1]
WHERE
[c_1].[TeacherId] = [Teacher].[Id]
),
[IsUpToDate] = 1
WHERE
[Teacher].[Id] = 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.