ALinq3 新功能简介 (五)[未完,待续]
2011-10-20 10:45 by 麦舒, 90 visits, 收藏, 编辑四、动态查询(一)
7、数据处理
1)更新操作
使用 Linq
table.Update(o => new Employee { FirstName = "AAA", LastName = "BBB" }, o => o.EmployeeID == -1);
动态更新
table.Update("FirstName = 'AAA', LastName = 'BBB'", "EmployeeID == -1");
使用参数
table.Update("FirstName = @0, LastName = @1", "EmployeeID == @2", "AAA", "BBB", -1);
更新部份采用 Linq ,过滤条件采用动态
table.Update(o => new { FirstName = "AAA", LastName = "BBB" }, "EmployeeID == -1");
更新部份采用动态,过滤条件采用 Linq
table.Update("FirstName = 'AAA', LastName = 'BBB'", o => o.EmployeeID == -1);
2)插入操作
使用 Linq
var employeeID = table.Insert(o => new Employee { FirstName = "AAA", LastName = "BBB" });
动态插入
var employeeID = table.Insert("FirstName = 'AAA', LastName = 'BBB'");
3)删除操作
使用 Linq
var table = db.GetTable<Employee>();
table.Delete(o => o.EmployeeID == -1);
动态删除
table.Delete("EmployeeID == -1");
table.Delete("EmployeeID == @0", -1);
8、使用索引
1)查询
Linq 查询
var table = db.GetTable<MyEmployee>();
table.Select(o => new { FisrtName = o["FisrtName"], LastName = o["LastName"] }).ToArray();
动态查询
table.Select("new (['FirstName'] as FirstName, ['LastName'] as FirstName)").Cast<object>().ToArray();
简写一:
table.Select("['FirstName'] as FirstName, ['LastName'] as FirstName").Cast<object>().ToArray();
简写二:
table.Select("['FirstName'], ['LastName']").Cast<object>().ToArray();
简写三:(FirstName,LastName 字段的引号可以不要)
table.Select("[FirstName], [LastName]").Cast<object>().ToArray();
关于使用索引入进增删改操作,以下的使用,是不允许的:
table.Insert("[FirstName] = 'AAA', [LastName] = 'BBB'");
table.Insert("[FirstName] = 'AAA', [LastName] = 'BBB'","[EmployeeID] == -1");
应该改写如下:
table.Insert("FirstName = 'AAA', LastName = 'BBB'");
table.Insert("FirstName = 'AAA', LastName = 'BBB'","EmployeeID == -1");
关于动态查询就到此结束了,后面还会有更多精彩内容,请继续关注我的博客。有什么问题或者建议,可以随时给我留言。