
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
	<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head><card id="MainCard" title="&#x6B22;&#x8FCE;&#x5149;&#x4E34;"><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a><br/>&nbsp;</p><p><b>&#x6807;&#x9898;&#x3A;</b> &#x4C;&#x49;&#x4E;&#x51;&#x20;&#x74;&#x6F;&#x20;&#x45;&#x6E;&#x74;&#x69;&#x74;&#x69;&#x65;&#x73;&#x5C1D;&#x8BD5;&#x5C06;&#x4E;&#x55;&#x4C;&#x4C;&#x8F6C;&#x4E3A;&#x53;&#x79;&#x73;&#x74;&#x65;&#x6D;&#x2E;&#x49;&#x6E;&#x74;&#x33;&#x32;&#x51FA;&#x9519;&#x4E00;&#x4F8B;</p><p><b>&#x4F5C;&#x8005;&#x3A;</b> &#x64;&#x6E;&#x61;&#x77;&#x6F;</p><p><b>&#x65E5;&#x671F;&#x3A;</b> &#x32;&#x30;&#x31;&#x34;&#x2D;&#x31;&#x32;&#x2D;&#x31;&#x39;&#x20;&#x31;&#x30;&#x3A;&#x33;&#x35;&#x20;&#x50;&#x4D;</p><p><b>&#x5206;&#x7C7B;&#x3A;</b> <a href="wap.asp?do=showLog&amp;cateID=16">&#x57;&#x69;&#x6E;&#x7F16;&#x7A0B;</a></p><p><b>&#x5185;&#x5BB9;&#x3A;</b> &#x4ECA;&#x5929;&#x4F7F;&#x7528;LINQ to Entities&#x65F6;&#x51FA;&#x73B0;&#x4E86;&#x4E00;&#x4E2A;&#x9519;&#x8BEF;&#xFF0C;&#x4E3A;&#x65B9;&#x4FBF;&#x8BF4;&#x660E;&#x521B;&#x5EFA;&#x4E86;&#x4E2A;Demo&#x8868;&#x7528;&#x4E8E;&#x8FD8;&#x539F;&#x95EE;&#x9898;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;cr&#101;ate table Person<br/>(<br/>&#160;&#160;&#160;&#160;Id int identity(1,1) primary key,<br/>&#160;&#160;&#160;&#160;Name nvarchar(20) not null,<br/>&#160;&#160;&#160;&#160;Age int not null<br/>)<br/>ins&#101;rt into Person sel&#101;ct &#39;person1&#39;,20<br/>ins&#101;rt into Person sel&#101;ct &#39;person2&#39;,30<br/>ins&#101;rt into Person sel&#101;ct &#39;person3&#39;,40<br/>LINQ to Entities&#x76F8;&#x5173;&#x7A0B;&#x5E8F;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;var context = new testContext();<br/>var data = context.People<br/>&nbsp;&nbsp;&nbsp;&nbsp;.GroupBy(item =&gt; item.Name)<br/>&nbsp;&nbsp;&nbsp;&nbsp;.Sel&#101;ct(item =&gt; new { item.FirstOrDefault().Name, Age = item.Wh&#101;re(item2 =&gt; item2.Age &gt;= 30).Sum(item2 =&gt; item2.Age) });<br/>foreach (var item in data)<br/>{<br/>&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine(&#34;{0},{1}&#34;, item.Name, item.Age);<br/>}<br/>&#x7A0B;&#x5E8F;&#x6267;&#x884C;&#x51FA;&#x9519;&#xFF0C;&#x9519;&#x8BEF;&#x4FE1;&#x606F;&#x5982;&#x4E0B;&#xFF1A;<br/> &#x5F15;&#x7528;&#x5185;&#x5BB9;The cast to value type &#39;System.Int32&#39; failed because the materialized value is null. Either the result type&#39;s generic parameter o&#114; the query must use a nullable type.<br/>&#x5728;SQL Server Profiler&#x83B7;&#x53D6;&#x4E86;&#x5BF9;&#x5E94;SQL&#x8BED;&#x53E5;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;Sel&#101;ct <br/>&nbsp;&nbsp;&nbsp;&nbsp;1 AS [C1], <br/>&nbsp;&nbsp;&nbsp;&nbsp;[Project4].[C1] AS [C2], <br/>&nbsp;&nbsp;&nbsp;&nbsp;[Project4].[C2] AS [C3]<br/>&nbsp;&nbsp;&nbsp;&nbsp;FROM ( Sel&#101;ct <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Project3].[C1] AS [C1], <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Sel&#101;ct <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SUM([Extent3].[Age]) AS [A1]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM [dbo].[Person] AS [Extent3]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wh&#101;re ([Project3].[Name] = [Extent3].[Name]) AND ([Extent3].[Age] &gt;= 30)) AS [C2]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM ( Sel&#101;ct <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Distinct1].[Name] AS [Name], <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(Sel&#101;ct TOP (1) <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Extent2].[Name] AS [Name]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM [dbo].[Person] AS [Extent2]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wh&#101;re [Distinct1].[Name] = [Extent2].[Name]) AS [C1]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM ( Sel&#101;ct DISTINCT <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[Extent1].[Name] AS [Name]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM [dbo].[Person] AS [Extent1]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;AS [Distinct1]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;AS [Project3]<br/>&nbsp;&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;AS [Project4]<br/>&#x67E5;&#x8BE2;&#x5F97;&#x5230;&#x7684;&#x8BB0;&#x5F55;&#x96C6;&#xFF1A;<br/> &#x5F15;&#x7528;&#x5185;&#x5BB9;1&#160;&#160;&#160;&#160;person1&#160;&#160;&#160;&#160;NULL<br/>1&#160;&#160;&#160;&#160;person2&#160;&#160;&#160;&#160;30<br/>1&#160;&#160;&#160;&#160;person3&#160;&#160;&#160;&#160;40<br/>&#x6240;&#x4EE5;&#xFF0C;&#x95EE;&#x9898;&#x7684;&#x539F;&#x56E0;&#x662F;Wh&#101;re(item2 =&gt; item2.Age &gt;= 30)&#x5BFC;&#x81F4;&#x4E86;&#x67E5;&#x8BE2;&#x7ED3;&#x679C;&#x5B58;&#x5728;NULL&#x503C;&#xFF0C;&#x5728;&#x5C1D;&#x8BD5;&#x5C06;&#x5B83;&#x8F6C;&#x6362;&#x6210;System.Int32&#x65F6;&#x51FA;&#x4E86;&#x9519;&#xFF0C;&#x89E3;&#x51B3;&#x65B9;&#x6CD5;&#x5982;&#x4E0B;&#xFF1A;<br/>&#x590D;&#x5236;&#x5185;&#x5BB9;&#x5230;&#x526A;&#x8D34;&#x677F; &#x7A0B;&#x5E8F;&#x4EE3;&#x7801;var data = context.People<br/>&nbsp;&nbsp;&nbsp;&nbsp;.GroupBy(item =&gt; item.Name)<br/>&nbsp;&nbsp;&nbsp;&nbsp;.Sel&#101;ct(item =&gt; new { item.FirstOrDefault().Name, Age = item.Wh&#101;re(item2 =&gt; item2.Age &gt;= 30).Sum(item2 =&gt; (int?)item2.Age) ?? 0 });<br/>&#x53C2;&#x8003;&#x8D44;&#x6599;<br/>[1].Stack Overflow&#xFF1A;http://stackoverflow.com/questions/6864311/the-cast-to-value-type-int32-failed-because-the-materialized-value-is-null</p><p> + <a href="#CommentCard">&#x67E5;&#x770B;&#x5F53;&#x524D;&#x65E5;&#x5FD7;&#x8BC4;&#x8BBA;</a> (0)</p><p>&nbsp;<br/><br/><a href="wap.asp?do=Login">&#x767B;&#x5F55;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.609&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="postCommentCard"><p><b>&#x6807;&#x9898;&#x3A;</b> <a href="#MainCard">&#x4C;&#x49;&#x4E;&#x51;&#x20;&#x74;&#x6F;&#x20;&#x45;&#x6E;&#x74;&#x69;&#x74;&#x69;&#x65;&#x73;&#x5C1D;&#x8BD5;&#x5C06;&#x4E;&#x55;&#x4C;&#x4C;&#x8F6C;&#x4E3A;&#x53;&#x79;&#x73;&#x74;&#x65;&#x6D;&#x2E;&#x49;&#x6E;&#x74;&#x33;&#x32;&#x51FA;&#x9519;&#x4E00;&#x4F8B;</a></p><p><br/>你没有权限发表评论</p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.609&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card><card id="CommentCard"><p>&#x6682;&#x65E0;&#x8BC4;&#x8BBA;</p><p><a href="#MainCard">&#x8FD4;&#x56DE;</a></p><p><br/>&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;</p><p><a href="wap.asp">&#x6728;&#x5B50;&#x5C4B;</a></p><p><a href="http://www.pjhome.net/wap.asp">PJBlog3&nbsp;v3.2.9.518</a>&nbsp;Inside.</p><p>Processed&nbsp;In&nbsp;0.609&nbsp;ms</p><do type="prev" label="&#x8FD4;&#x56DE;"><prev/></do></card>
</wml>
