Linq 笔记
提示错误 "The query results cannot be enumerated more than once."
13.
Linq查询返回的是IEnumerable<T>或IQueryable<T>类型,用.ToList()方法转换成List<T>类型。List<T>和IQueryable<T>继承自IEnumerable<T>
$("#tableArea").tabs({
show: function (event, ui) {
var g_curTab = ui.index;
}
});
15.First() : 返回集合中的一个元素,其实质就是在SQL语句中加TOP (1)Order ord = db.Orders.First(o => o.Freight > 10.00M);
12.
第三方缓存:
目前主要了解过memcached,它是通过在内存中开辟一块区域来维护一个hash表以加快页面的访问速度,和数据库是相对独立的。
和asp.net本是的缓存机制相比,memcached是一个分布式缓存系统,任何web服务器都能更新或删除缓存项,并且其他所有其他的服务器都能在下次访问时检测到这些更新。memcached已经提供了asp.net 的客户端。
页面输出缓存应该用在那些不需要经常修改,但是需要经过大量的处理才能完成页面上面,其使用非常简单,只需在aspx页面顶部添加声明:
<%@ OutputCache Duration="60" VaryByParam="none" %>
它主要有一些参数,Duration,VaryByParam,VaryByConyrol等
* Duration,这是必选属性,没有会爆出运行时错误,指缓存的时间(秒),在上面的例子中是60(60秒后缓存失效)。
* VaryByParam,是指页面根据POST或GET发送的名称/值对来更新缓存的内容,多个参数使用逗号隔开,如果不希望根据如何参数更新缓存那么将其设置为none(上例),如果系统通过所有的参数值 的改变来更新缓存,将其设置为*.
* 例如对于http://localhost/test.aspx?p=1,可以在test.aspx中设置<%@ OutputCache Duration="60" VaryByParam="p" %>,当p=1时,60秒内数据会缓存,当p=2时又会执行后台代码更新缓存内 容。
* VaryByConyrol,是指通过当前页面中服务器控件来改变缓存(值是控件的ID,多个控件用分号隔开)
.net缓存依赖主要分为为两种:
* 文件缓存依赖
* 数据库缓存依赖
文件缓存依赖:该策略让缓存依赖于一个指定的文件,通过文件的更新日期来清楚缓存,加入某些数据是来自于xml文件,那么完全可以将该xml数据的缓存依赖于该xml文件,只要xml文件改变,则自动清
空依赖其的数据缓存。
数据库缓存依赖:其实.net已经实现了这个机制:System.Web.Caching.SqlCacheDependency,该类就是.net专门为数据库缓存依赖而设计的,它继承自CacheDependency。
9.删除主键表时
public void Delete(Dinner dinner) {
db.RSVPs.DeleteAllOnSubmit(dinner.RSVPs); //删除从表中的数据
db.Dinners.DeleteOnSubmit(dinner);
}
10.return RedirectToAction("Details", new { id = dinner.DinnerID });
11.ModelState.AddModelError(issue.PropertyName, issue.ErrorMessage);
Controller 类有一个ModelState 属性集合,可以用来提示传递到视图的model 对象是否有错误。ModelState中Error 记录识别模型属性的名称和错误信息,并允许指定友好的错误信息。
Html.ValidationMessage() 辅助方法用来输出特定Model 属性相关的ModelState 错误信息:
<%= Html.ValidationMessage("EventDate")%>
上述代码输出:<span class="field-validation-error"> The value ‘BOGUS' is invalid</span>
Html.ValidationMessage() 辅助方法也支持第二个参数,允许开发人员覆盖错误消息:
<%= Html.ValidationMessage("EventDate","*") %>
上述代码输出:<span class="field-validation-error">*</span>,而不是默认的错误信息。
Html.ValidationSummary() 辅助方法接收一个可选的字符串参数 – 定义一个概括性的错误消息,并显示
在所有详细错误信息的前面:
<%= Html.ValidationSummary("Please correct the errors and try again.") %>