Linq to SQL Dynamic 动态查询
在开发中我们常需要使用动态的条件来组合查询,scotte博客里提到了MS提供的一个动态查询类库Basic Dynamic LINQ C# Sample,这个可以给我们提供不少方便,但是给的示例实在太简单,实际当中我们很多不能像他这样用。http://www.cnblogs.com/images/cnblogs_com/cnblogsfans/WindowsLiveWriter/LinqtoSQLDynamic_D60A/image_thumb.png
首先引入DynamicLibrary.cs,下面是我使用过程中的一些运行正确的用法(里面使用返回DataSet是因为对旧程序升级),我觉得写法很怪异,但是的确这样是正确的。
http://www.cnblogs.com/images/cnblogs_com/cnblogsfans/WindowsLiveWriter/LinqtoSQLDynamic_D60A/image_thumb_1.png
调用
http://www.cnblogs.com/images/cnblogs_com/cnblogsfans/WindowsLiveWriter/LinqtoSQLDynamic_D60A/image_thumb_2.png
最终生成的SQL语句
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);">http://www.agoit.com/Images/OutliningIndicators/None.gifSELECT COUNT(*) AS [value]
http://www.agoit.com/Images/OutliningIndicators/None.gifFROM [dbo].[News] AS [t0]
http://www.agoit.com/Images/OutliningIndicators/None.gifWHERE ([t0].[NewsIsDeleted] IS NULL) AND ([t0].[NewsIsDisplay] = 1)
AND ([t0].[Newslanguages] = @p0) AND ([t0].[NewsIsHome] = 1) AND ([t0].[NewsIsTop] = 1)
http://www.agoit.com/Images/OutliningIndicators/None.gif-- @p0: Input NVarChar (Size = 8; Prec = 0; Scale = 0)
http://www.agoit.com/Images/OutliningIndicators/None.gif-- Context: SqlProvider(Sql2005) Model: AttributedMetaModel Build: 3.5.21022.8
页:
[1]