静坐常思己过,闲谈莫论人非,能受苦乃为志士,肯吃亏不是痴人,敬君子方显有德,怕小人不算无能,退一步天高地阔,让三分心平气和,欲进步需思退步,若着手先虑放手,如得意不宜重往,凡做事应有余步。持黄金为珍贵,知安乐方值千金,事临头三思为妙,怒上心忍让最高。切勿贪意外之财,知足者人心常乐。若能以此去处事,一生安乐任逍遥。

ChangeConflictException:Row not found or changed 找不到行或行已更改

作者:大鹏 发布于:2012-5-11 17:25 Friday 分类:Asp.Net 2.0
标签: linq

产生此异常,主要是Linq缓存数据和实际数据库数据不一致的情况造成。解决次问题的情况,主要有几种:

    1.比较简单的方法,不使用Linq提供的SubmitChanges()方式提交更改,而直接执行SQL语句,例

      db.ExecuteCommand("Update [dbo].[LinqTest] SET Age=25 Where ID = @p0", 1);

    这样虽然比较方便,但是感觉又回到了直接写SQL的时代,毕竟Linq to SQL的目的,就是为了让我们看不见SQL,避免写复杂的SQL语句,而直接操作实体对象,这样也可以避免程序可读性差、不便于维护。所以除非万不得已,还是不太推荐使用此方法。

阅读全文>>


评论(0) 引用(0) 浏览(79231)

LINQ学习笔记-Lambda表达式

作者:大鹏 发布于:2009-2-16 13:43 Monday 分类:Asp.Net 2.0
标签: .net framework c# vs2008 linq

一、什么时候使用Lambda表达式
    
    总的来说,Lambda 表达式可以用在任何需要使用匿名方法,或是代理的地方。编译器会将Lambda表达式编译为标准的匿名方法(可以使用ildasm.exe or reflector.exe得到确认)。
    
    比如:    
[code] List<int> evenNumbers = list.FindAll(i => (i % 2) == 0);[/code]
    被编译为

[code]List<int> evenNumbers = list.FindAll(delegate (int i)
{
    return (i % 2) == 0;
});[/code]

阅读全文>>


评论(0) 引用(0) 浏览(2664)