C#
mx5721
这个作者很懒,什么都没留下…
展开
-
将linq转换为sql
今天在做项目的时候,遇到很诡异的问题,由于linq学的不好,就想着能把linq转换为sql就好了。在网上找了很多资料,最后终于找打了,留着以后用: var query = from q in ctx.LTP_Org_Group where q.isDelete == false原创 2012-08-01 17:14:52 · 851 阅读 · 0 评论 -
使用Attach和Detach来实现更新的时候避免逐一赋值的麻烦
之前都是用扩展方法来copy属性值,不过兼容性不是很好。(关于这个扩展方法可以参照这个博客),不过我们可以通过下方的代码来实现,由于是微软提供的功能,所以不需要考虑兼容性问题:public partial class WebForm2 : System.Web.UI.Page { protected void Page_Load(object sender, EventAr原创 2014-05-07 15:51:00 · 10389 阅读 · 0 评论 -
如何避免在EF自动生成的model中的DataAnnotation被覆盖掉
相信很多人刚接触EF+MVC的时候,会有这个疑问,就是当我们在model类中加验证信息的时候,会在重新生成model的时候被重写掉。这里介绍一个方法: 比如我有个Employee类是从数据库中生成到model中的,我们可以在Models文件夹中创建一个部分类名称与Employee类同名,然后在新建的部分类中加上我们需要验证信息,这时我们在view页面中引用Models.Employee做为页面m原创 2014-05-13 12:46:00 · 2971 阅读 · 6 评论 -
关于lock关键字
线程同步对象关键字lock,是以lock对应的object对象为准,即任意线程lock住lockObj对象之后,其他线程无论在其他任何代码段使用lock(lockObj)去进行线程同步时,都将被阻塞。 锁定的是lockObj对象,不是lock对应大括号包含的代码段。 由此可见这里的lockObj被当盾牌使,而大括号内的则是被保护的平民。 原创 2014-06-24 22:10:02 · 903 阅读 · 0 评论 -
如何获取客户端的IP与MAC地址
转自 http://www.cnblogs.com/TTTT/archive/2010/02/09/1666147.html转载 2014-07-21 15:45:41 · 1418 阅读 · 0 评论 -
扩展Update实现在linq中进行批量更新
这篇文章讲解的很详细, http://www.cnblogs.com/coolcode/archive/2010/07/11/LinqToSQL_Batch_Update.html 转载 2014-07-24 10:24:07 · 11592 阅读 · 0 评论 -
DataTable导出到Excel
static DataTable GetTable() { // // Here we create a DataTable with four columns. // DataTable table = new DataTable(); table.Column原创 2014-07-09 09:40:05 · 860 阅读 · 0 评论 -
easyui datagrid 导出excel
本片文章是介绍如何用ajax的方式将easyui中的datagrid数据导出到excel中。 声明:该代码是在参考前人的代码写出来的,并非我原创。 新增部分: 1. 对于列是枚举列的可以设置枚举值,导出时会自动替换列中的枚举值,详细见用例代码。 2. 新增导出时不导出首列或末列指定个数的列,详细接用例代码。 下面是插件源码: /** Jquery easyui datagrid js导原创 2015-01-27 20:24:06 · 5728 阅读 · 7 评论 -
C#模拟域登录
如果希望使用C#进行后台域登录,需要使用到advapi32.dll这个程序集。advapi32.dll是一个高级API应用程序接口服务库的一部分,包含的函数与对象的安全性,注册表的操控以及事件日志有关。xp系统一般位于C:\WINDOWS\system32\目录下,大小659KB。 下面是实现域登录的代码: public class SimulateDomainService {原创 2015-01-14 12:49:21 · 3138 阅读 · 0 评论 -
Ajax asp.net 导入Excel
首先使用ajax以POST的方式提交excel文件:$("#btnUploadExcelSave").click(function () { var fileObj = document.getElementById("file").files[0]; // js 获取文件对象 var FileController = "../原创 2015-03-06 16:40:04 · 3059 阅读 · 0 评论 -
CodeFirst 级联删除问题
codefirst涉及到级联删除时可能会报下面的错误: table 'TableName' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints. 这是由于同一张表中使用了同一个原创 2015-03-10 13:54:12 · 3212 阅读 · 0 评论 -
C#加密解密
public class EnryptClass { //加密算法 /// /// 进行DES加密。 /// /// 要加密的字符串。 /// 密钥,且必须为8位。 /// 以Base64格式返回的加密字符串。 public string Encrypt(st转载 2014-05-07 14:05:07 · 644 阅读 · 0 评论 -
捕获Entity framework验证异常
Entity framework在验证未通过的时候默认不会抛出详细异常,这给我们debug带来很大的困难,不过我们可以手动捕获,见代码: private int Update(Employee entity) { string error = string.Empty; using (NorthwindEntities ctx =原创 2014-05-07 15:45:02 · 4158 阅读 · 0 评论 -
Update实体时如何避免逐一赋值
使用以下方法可以实现避免Update实体时避免逐一赋值的麻烦。 代码: public static class ReflectionExtensions { public static void CopyPropertiesFrom(this object destObject, object sourceObject) { if原创 2013-11-29 11:21:17 · 1304 阅读 · 0 评论 -
MVC学习笔记——起始页问题
不小心在MVC项目中设置了起始页,这样导致了项目不能正常启动浏览。 解决办法: 1.打开解决方案,右击项目(有个地球形状的带C#的图案)--选择属性。 2.然后在打开的页面中选择“WEB”项,然后在特定页中修改你要的URL。根据你的问题,只要将特定页改为Home就可以了。也可以置空。原创 2012-08-01 17:19:34 · 473 阅读 · 0 评论 -
session清空问题
对IIS的主目录下文件的操作(添加/删除)会导致整个项目动态编译,从而将session的值清空了。原创 2012-08-01 17:18:59 · 440 阅读 · 0 评论 -
Linq to entity 3.5 左联接问题
在linq to sql 中左联接可以这么写: from q1 in table1 join q2 in table2 on q1.col equals q2.col into tem_table from q3 in tem_table.DefaultIfEmpty() select new { name1 = q1.col name2 = q3 == null?原创 2012-08-01 17:15:44 · 574 阅读 · 0 评论 -
.net中将Json字符串转换为指定对象
需求:1. 前台传回Json格式的数据:"[{name:'zhangsan',age:'20'},{name:'lisi',age:'20'}]" 2. 在后台需要将该json数据转换为对应的自定义的User类的对象。 解决方法: //定义类的时候需要指明其是可序列化的,并且要继承List这样才可以将List类型直接转换为List类型 [原创 2012-11-16 10:33:11 · 4633 阅读 · 0 评论 -
将Linq转换为SQL的便捷方法
以下代码可以将Linq快捷的转换为SQL,以供我们分析程序。,以下是代码: 1: using (NorthwindEntities context = new NorthwindEntities()) 2: { 3: string s = string.Empty; 4: 5: var query = context.R原创 2012-12-25 15:00:32 · 1054 阅读 · 0 评论 -
关于.net数据读取注意事项
项目后期发现之前写的一些代码禁不起测试,经常报异常:当把数据清空后就发现好多错误。 如获取datatable中的数据,我在项目中经常这么写:DataTable dt = DAL.GetTable();string type = dt.rows[0]["type"].ToString(); 这都是在假设有数据的情况下写的代码,岂不知当没有数据的时候就会报异常。 教训啊,像这种情况以后一定要注意原创 2013-03-31 22:02:20 · 656 阅读 · 0 评论 -
C#实现所有经典排序算法
C#实现所有经典排序算法 1、选择排序 class SelectionSorter { private int min; public void Sort(int[] arr) { for (int i = 0; i arr.Length - 1; ++i) {转载 2013-04-08 16:16:21 · 591 阅读 · 0 评论 -
WebService
手动写webservice,代码代码如下:using System; using System.Web; using System.Xml; using System.Collections; using System.Net; using System.Text; using System.IO; /// /// 利用WebRequest/WebResponse进行WebService原创 2013-04-27 17:25:03 · 790 阅读 · 0 评论 -
利用反射动态构成sql语句
class Program { static void Main(string[] args) { People p = new People(); Insert(p); } public static bool Insert(object obj)原创 2013-07-29 19:24:04 · 1166 阅读 · 0 评论 -
left join linq
一直没弄明白linq 的左链接查询,终于找到解决方案了: var result = (from a in table1 join b in table2 on a.a_guid equals b.b_guid into t1 from b in t1.DefaultIfEmpty() join原创 2013-10-27 21:20:09 · 700 阅读 · 0 评论 -
C#深拷贝
C#的深拷贝,需要自己实现逻辑,目前我没有发现微软提供了可供调用的API。微软只是提供ICloneable接口,此接口只是为我们提供了一个规范,必须实现object Clone();方法,如下代码:public class Person : ICloneable { public int ID { get; set; } public string Name { get; set;原创 2015-08-25 09:58:29 · 856 阅读 · 0 评论