木子屋 Dnawo's BLOG

分类:Web编程

共 938 篇

Visual Studio 2012附加到进程调试Web应用程序示例

第一步:在程序中插入断点 第二步:附加到进程调试 在Visual Studio 2012菜单选择"调试→附加到进程",选中进程iisexpress.exe(IIS选择w3wp.exe),点击附加开始调试: 第三步:查看断点 在浏览器打开页面,程序会运行到断点处暂停,此时可以查看一些局部变量值:

Entity Framework数据库初始化四种策略

策略一:数据库不存在时重新创建数据库 策略二:每次启动应用程序时创建数据库 策略三:模型更改时重新创建数据库 策略四:从不创建数据库 Entity Framework数据库初始化示例

比较LINQ to Entities的AsQueryable和AsEnumerable方法

例一: C#程序: 服务器端sql: 例二: C#程序: 服务器端sql: 小结 AsQueryable是在数据库中查询再返回数据,AsEnumerable是从数据库读取全部数据再在程序中查询,其效果和ToList相同。

LINQ to Entities多条件动态查询实现

在WEB应用程序中经常会碰到多条件查询,比如查找某个用户,可能根据用户名查询,也可能根据注册时间查询,以前是通过拼接sql完成,那在LINQ to Entities要怎么实现?直接上代码: 在SQL Server Profiler跟踪结果: 这得益于Linq延迟执行功能,使得程序可以将多条件合并查询。将上边代码稍做修改,思考下将怎么执行?哪一种方式更好?

SQL Server外键需不需要建立索引?

会有这个疑问,我认为主要有两点原因: ·主键"不需要"建立索引,所以外键需不需要建立索引? ·外键本身是另一个表的主键,主键一般有聚集索引,这个索引会不会应用到查询上? 针对第一点,实际情况是主键是有建立索引的,通常就是表的聚集索引,由于在创建主键时自动创建了索引,所以让人错觉主键没有建立索引,因此,不管是主键还是外键,只要有需要,都得创建索引;针对第二点,我们可以做个测试。 在SQL Server 2008创建表并添加测试数据: 在SQL Server Management Studio中可以看到主键和外键,同时还有一个聚集索引: 我们再使用外键列查询并查看执行计划: 从图中可以看到,查询是使用本表的聚集索引扫描,也没有用另一个表的索引(用了就怪了:))。

Microsoft JET Database Engine (0x80004005) 未指定的错误

服务器环境Windows XP + IIS5.1,ASP程序: 运行出错,提示: Microsoft JET Database Engine (0x80004005) 未指定的错误 /11-1.asp, 第 5 行 解决方法 打开temp文件夹属性,在安全选项卡中添加Everyone用户,赋于完全控制权限即可。

HTML页面总被手机浏览器缩小显示解决方法

美工做了个HTML页面,已经处理成可以在不同分辨率下正常显示,电脑上测正常,但手机浏览器总会将页面缩小显示。开始以为是页面尺寸大导致的,后来发现即使页面中只有一行字,也会被被缩小显示: HTML页面总被手机浏览器缩小显示解决方法 在html的和之间加入下边代码可以解决: viewport参数含义: ·width:viewport的宽度,可以指定一个值(比如960),或者设置为设备的宽度(比如device-width); ·height:viewport的高度; ·initial-scale:初始缩放比例,范围从0到10; ·maximum-scale:允许用户缩放到的最大比例,范围从0到10;…

站长联盟分成数据库表结构演变

先说说需求:联盟有多个产品,每个产品都有单价,要求能为每个联盟会员设置一个分成比例(针对所有产品),不同等级的会员分成比例会有不同。 版本一 由于不同等级的会员分成比例会有不同,所以最初很自然的将分成比例放到用户表中: 这在业务流程上没什么问题,但管理员使用不方便,比如要统一修改某个分成比例时问题尤为明显。 版本二 为解决版本一使用不方便的问题,引入了一个方案表,将用户和方案关联: 为每种分成比例建一个方案,当需要统一修改某个分成比例时,只需要修改下对应的方案即可。但这还有问题,当某个分成比例只适用特定用户时,若类似的分成比例比较多,方案的优势就显示不出来了,反而更麻烦。 版本三 这个版本综合了前面两个版本:…

今天发现Entity Framework添加记录会返回新记录Id

在SQL Server Profiler跟踪上边程序执行情况时,看到服务器执行SQL语句为: exec sp_executesql N'insert .(, ) values (@0, @1) select from . where @@ROWCOUNT > 0 and = scope_identity()',N'@0 int,@1 nvarchar(20)',@0=0,@1=N'cat' 很明显,添加记录后马上返回了新记录,这是不是意味着Entity Framework在添加记录后会对实体进行更新?那就可以直接取新记录Id了?测试了下,猜想是正确的:)