我有這樣的SQL表,並需要如下改造它:如何通過C#中的linq更新字段表?
輸入
A | B
--------
1 | al
2 | bb
3 | CC
輸出
A | B
-------
1 | a
2 | b
3 | c
我有這樣的SQL表,並需要如下改造它:如何通過C#中的linq更新字段表?
輸入
A | B
--------
1 | al
2 | bb
3 | CC
輸出
A | B
-------
1 | a
2 | b
3 | c
總體思路 修正:
var result = db.tables
.Where(x => (x.B!=null || x.B.Length > 0)
.Select(x =>
new
{
A = x.A,
B = x.B[0]
});
不確定這會起作用。我不認爲Linq-to-SQL支持IsNullOrEmpty。也許不是字符串索引。 – McGarnagle 2012-04-22 06:48:29
@dbaseman您正對Linq-To-SQL。您可以使用空值或長度來檢查 – jebberwocky 2012-04-22 06:56:17
@jebberwocky,您的查詢將按照OP的要求選擇結果,但我認爲OP在詢問如何通過此結果更新表中的數據,即批量更新這些關於新格式的數據 – 2012-04-22 08:27:25
db.table.ToList().ForEach(x => x.B = x.B.SubString(0, 1));
db.SubmitChanges();
檢查這是在SQL雖然,最後一行是那種查詢你可以用它來進行轉換,這也可以在批量更新中使用
Declare @tab table(A int,B nvarchar(10))
insert into @tab
select 1,'al' UNION ALL
select 2,'bb' UNION ALL
select 3,'CC'
select A,B from @tab
select A, left(lower(B),1) B from @tab
您想選擇這些數據以您發佈的輸出格式輸出,或*批量更新*它們看起來像輸出格式中的數據? – 2012-04-22 08:29:08