EntityFramework批量增加时报"...请在调用 AcceptChanges 之前,确保键值是唯一的"

http://www.xinglongjian.com/index.php/2012/10/08/entityframeworkacceptchanges/

解决办法:

context.SaveChanges();有三个参数

1:SaveOptions.DetectChangesBeforeSave(在调用savechanges()方法时调用DetectChanges()方法)

2:SaveOptions.AcceptAllChangesAfterSave,(会引起 AcceptAllChanges()方法调用)

3:SaveOptions.None.(文档描述,这个值即便和其他的值一起使用,也不会调用这些方法)

当传入SaveOptions.DetectChangesBeforeSave和SaveOptions.None参数时不会报上面的错误

 

 

集合已修改;可能无法执行枚举操作 for 与foreach

http://blog.csdn.net/tiramisuh/article/details/9045059

解决办法:

  1. for(int i=0;i<CACHE_POOL.Count;i++)
  2. {
  3.     TimeSpan ts = DateTime.Now - CACHE_POOL.Values.ElementAt(i).LastTime;
  4.     if (ts.TotalMilliseconds > cleartime * 60000)
  5.     {
  6.         CACHE_POOL.Remove(CACHE_POOL.Keys.ElementAt(i));
  7.         i--;
  8.     }
  9. }

 

 

c#兼容 PHP中的md5

http://www.cnblogs.com/myjotin/archive/2010/06/12/1757208.html

解决办法:

  1. public
    static
    string MD5(string password)
  2. {
  3.     byte[] textBytes = System.Text.Encoding.Default.GetBytes(password);
  4.     System.Security.Cryptography.MD5CryptoServiceProvider cryptHandler;
  5.     cryptHandler = new System.Security.Cryptography.MD5CryptoServiceProvider();
  6.     byte[] hash = cryptHandler.ComputeHash(textBytes);
  7.     string ret = "";
  8.     foreach (byte a in hash)
  9.     {
  10.         if (a < 16)
  11.             ret += "0" + a.ToString("x");
  12.         else
  13.             ret += a.ToString("x");
  14.     }
  15.     return ret;
  16. }

 

 

NET学习总结----在winform中显示html内容

http://www.cnblogs.com/JuneZhang/archive/2011/03/08/1977342.html

解决办法:

  1. private
    void Test()
  2. {
  3.     WebBrowser w = new WebBrowser();
  4.     w.Parent = this;
  5.     w.Dock = DockStyle.Fill;
  6.     w.DocumentText =
  7.       "<html><body><br><br><br>Please enter your name:<br/>" +
  8.       "<input type='text' name='userName'/><br/>" +
  9.       "<a href='http://www.microsoft.com'>continue</a>" +
  10.       "</body></html>";
  11. }

 

 

ClickOnce部署Winform程序的方方面面

http://www.cnblogs.com/parry/archive/2012/10/30/ClickOnce_Winform_Deployment.html#s2

解决办法:

使用ClickOnce部署的详细讲解

 

html input readonly 和 disable的区别

http://my.oschina.net/junn/blog/109834

解决办法:

Readonly只针对input(text / password)和textarea有效,而disabled对于所有的表单元素都有效,但是表单元素在使用了disabled后,当我们将表单以POST或GET的方式提交的话,这个元素的值不会被传递出去,而readonly会将该值传递出去(readonly接受值更改可以回传,disable接受改但不回传数据)。

 

一般比较常用的情况是:

 

1. 在某个表单中为用户预填了某个唯一识别代码,不允许用户改动,但是在提交时需要传递该值,此时应该将它的属性设置为readonly。

 

2. 经常遇到当用户正式提交了表单后需要等待管理员的信息验证,这就不允许用户再更改表单中的数据,而是只能够查看,由于disabled的作用元素范围大,所以此时应该使用disabled,但同时应该注意的是要将submit button也disabled掉,否则只要用户按了这个按钮,如果在数据库操作页面中没有做完整性检测的话,数据库中的值就会被清除。如果说在这种情况下用readonly来代替disabled的话,若表单中只有input(text / password)和textarea元素,那还是可以的,如果存在其他发元素,比如select,用户可以在重新改写值后按回车键进行提交(回车是默认的submit触发按键)。

 

3. 我们常常在用户按了提交按钮后,利用javascript将提交按钮disabled掉,这样可以防止网络条件比较差的环境下,用户反复点提交按钮导致数据冗余地存入数据库。

 

C# 开发积累(1)的更多相关文章

  1. css进阶 06-CSS开发积累

    06-CSS开发积累 #让flex盒子中的子元素们,居中 flex布局常用的三行代码: display: flex; justify-content: center; // 子元素在横轴的对齐方式 ( ...

  2. android 开发积累

    1.ListView滚动黑屏问题 ListView滚动时,数据项变成黑色 问题解决办法:通过添加 android:cacheColorHint = "#00000000" 将背景设 ...

  3. 关于IOS音频的开发积累

    1.设置类别,表示该应用同时支持播放和录音 OSStatus error; UInt32 sessionCategory = kAudioSessionCategory_PlayAndRecord; ...

  4. Android 之开发积累

    1.后台设置ImageView的src属性 有三种方式:img = (ImageView)this.findViewById(R.id.img_result_analyze); [1]setImage ...

  5. Android 音视频开发(一) : 通过三种方式绘制图片

    版权声明:转载请说明出处:http://www.cnblogs.com/renhui/p/7456956.html 在 Android 音视频开发学习思路 里面,我们写到了,想要逐步入门音视频开发,就 ...

  6. 十余年软件开发经历,经验总结和程序一览(涉及Socket、WPF、vc++、CAD、图像、GIS)

    前言 本文主要介绍我开发的几款软件产品,大概介绍一下功能.可以让读者了解本人的开发能力,所擅长的方面.有相关开发需求可以联系作者. 本人开发软件多年,从事的行业也多种多样:自然接触了不同的业务,开发了 ...

  7. Enterprise Solution 开源项目资源汇总 Visual Studio Online 源代码托管 企业管理软件开发框架

    Enterprise Solution 是一套管理软件开发框架,在这个框架基础上开发出一套企业资源计划系统Enterprise Edition. 现将Enterprise Solution开发过程中遇 ...

  8. iBATIS.net获取运行时sql语句

    [本文原创,第一次离首页如此之近.发在候选区攒攒rp,管理员看着不合适可以撤下.] 虽然只在iBatis的世界里小打小闹匆匆数月,却历经数次与领导和同事激辩,再通过不懈努力学习和开发积累,楼猪终于被它 ...

  9. ArcGIS Engine中加载数据

    ArcGIS Engine中加载数据 http://blog.csdn.net/gisstar/article/details/4206822   分类: AE开发积累2009-05-21 16:49 ...

随机推荐

  1. 简单获取input file 选中的图片,并在一个div的img里面赋值src实现预览图片

    html代码: <input id="file_upload" type="file" /> <div class="image_c ...

  2. iOS - 日期的时间差(某年某月某日的某一天。。。)

    //首先创建格式化对象 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateF ...

  3. Linux系统下设置Tomcat自启动

    需要将tomcat加入自启动队列中,则需要进行如下的操作: 以root用户登录系统: cd /etc/rc.d/init.d/ vi tomcat 文件内容参考如下: #!/bin/sh # # to ...

  4. CLR via C#(13)-浅谈事件

    提起事件,我们都不陌生,事件使类之间有了交互的能力.它是建立在委托基础上的.有了前面对委托的了解,相信读起事件来也不会太难了.关于事件,现成的好文章数不胜数,本不打算写了.不过问道有先后,各抒己见,也 ...

  5. EF – 3.EF数据查询基础(下)数据关联

    5.5.1 <关于“数据关联”,你不一定清楚的事> 这讲视频比较全面地介绍了“一对一”.“一对多”和“多对多”三种数据关联类型在关系数据库和Entity Framework数据模型中的实现 ...

  6. protobuf-net 对象二进制序列化与反序列号(转)

    概述: Protobuf是google开源的一个项目,用户数据序列化反序列化,google声称google的数据通信都是用该序列化方法.它比xml格式要少的多,甚至比二进制数据格式也小的多. Prot ...

  7. git 常用的简单命令

    git add . 会把当前目录中所有有改动的文件(不包括.gitignore中要忽略的文件)都添加到git缓冲区以待提交 git add * 会把当前目录中所有有改动的文件(包括.gitignore ...

  8. .NET Nancy 详解(二) 简易路由实现

    继续上面的简易版本,有意思的点剩下便是路由实现了. 路由注册 首先,来看一下基本的路由注册过程. public FakeNancyModuleWithoutBasePath() { Delete[&q ...

  9. [Oracle] 生产上表的列类型更新

    由于粗心,数据库脚本生成的时候错将一个类型NUMBER(5)的字段类型改为 VARCHAR2(5) 直接进行表修改会报错,因为数据已经存在,不能进行更新: ); 大体思路如下:       将要更改类 ...

  10. 实时视频应用之QoS关键技术分析

    转自:http://www.aiweibang.com/m/detail/104476372.html?from=p 随着WebRTC标准的逐步推广,实时音视频通讯技术受到越来越多公司和技术人员的关注 ...