新普金娱乐网址


Memory Map

他是先秦最牛理工男,集耶稣、穆罕穆德、牛顿、郭靖于一身!

数学《失实》可信而幽默之同一本书。把全人类获取知识的快作研究对象 五星星推荐

  • 十月 20, 2018
  • 数学
  • 没有评论

可信而幽默的同等本书。把全人类获取知识之快慢作研究对象。作者研究事实的半衰期,也即是一个深受学界认可的事实在多长时间之后失效。基本的结论是基础事实为推翻的快更快。基本的下结论是事实来半衰期,这个半衰期遵循数学规律。

[索引页]
[源码下载]

再接再厉VS 2008 sp1 + .NET 3.5 sp1(6) – Entity
Framework(实体框架)之Entity SQL

作者:webabcd

介绍
坐Northwind为示范数据库,ADO.NET Entity Framework之详解Entity SQL

  • Linq 方法上吗可以动用 esql
  • 询问表达式
    • select, from, where, order by, group by, having
    • cross join, inner join, left outer join, right outer join, full
      outer join
    • case when then else end
  • 会合运算符
    • anyelement(expression) – 从集合中提取任意元素
    • except –
      从左边表达式的结果被去该和右手表达式结果负之相同项,并返此结果
    • flatten(collection) – 将多个集聚组成的聚集转换为一个集聚
    • intersect – 返回运算符两侧查询结果的等同项
    • [not] exists(expression) – 确定询问结果是否存在
    • [not] in {,} – 确定某值是否以某集合中
    • overlaps – 确定运算符两侧查询结果是否具有同等项
    • set(expression) – 移除重复项
    • union – 将运算符两侧查询结果连成一个聚集(移除重复项)
    • union all – 将运算符两侧查询结果连成一个聚(包括再项)
    • top(n) – 取前 n 条记录
  • 分页运算符
    • skip n – 需要跨越了的项数,结合 order by 使用
    • limit n – 需要选择的项数,结合 order by 使用
  • 项目运算符
    • cast(expression as data_type) –
      将表达式转换为其它一样种植多少类(使用 EntityCommand 执行查询,返回
      EDM 类型;使用 ObjectQuery 执行查询,返回 CLR 类型)
    • oftype – 从询问表达式返回指定项目的目标集合,需 EDM
      中继续关系之支撑
    • is of – 确定表达式的色是否也指定项目或者指定项目的某某子类型,需
      EDM 中持续关系的支撑
    • treat – 将点名基类型的目标便是指定派生类型的靶子,需 EDM
      中延续关系的支持
  • 常用运算符
    • 算术运算符
      • +
      • -(减或负)
      • *
      • /
      • %
    • 比效运算符
      • >, >=, <, <=, <>, !=
      • is null, is not null
      • between and, not between and
      • like, not like
    • 通配符(应用于 like 和 not like)
      • % – 零个或零个上述的擅自字符
      • _ – 任意单个字符
      • [] – 在指定范围 [a-f] 或集合 [abcdef] 中的妄动单个字符
      • [^] – 不以指定范围 [^a-f] 或集合 [^abcdef]
        中的随机单个字符
    • 逻辑运算符
      • and, &&
      • or, ||
      • not, !
    • 其它字符
      • — – 注释
      • . – 成员访问
      • ; – 分行
      • + – 串联字符串
  • 函数
    • 函数 – 聚合函数
      • Avg(expression) – 非 null 的平均值
      • Count(expression) – 记录总数(Int64)
      • BigCount(expression) – 记录总数(Int32)
      • Max(expression) – 非 null 的极致大值
      • Min(expression) – 非 null 的最小值
      • Sum(expression) – 非 null 的总和值
      • StDev(expression) – 非 null
        的正规化偏差值(相对于平均值的正规化不是)
    • 函数 – 数学函数
      • Abs(value) – 取绝对值
      • Ceiling(value) – 取不小于参数的极其小平头
      • Floor(value) – 取不超出参数的卓绝要命整数
      • Round(value) – 取参数的整数部分
    • 函数 – 字符串函数
      • Left(string, length) – 从左侧开,取 string 的前 length
        个字符
      • Right( tring, length) – 从右边开,取 string 的前 length
        个字符
      • LTrim(string) – 去丢 string 的左的空
      • RTrim(string) – 去丢 string 的右的空白
      • Trim(string) – 去丢 string 的两侧的空
      • ToLower(string) – 将 string 全部变为题写
      • ToUpper(string) – 将 string 全部转移为题写
      • Concat(string1, string2) – 串联 string1 和 string2
      • Replace(string1, string2, string3) – 将 string1 中之有着
        string2 都替换为 string3
      • Reverse(string) – 取 string 的反序
      • Substring(string, start, length) – 从 string 的 start
        位置上马取 length 个字符,索引从 1 开始
      • IndexOf(string1, string2) – string1 在 string2
        中之岗位,索引从 1 开始,若找不顶则赶回 0
    • 函数 – 日期及岁月函数
      • Year(expression) – 取时间之年之一些
      • Month(expression) – 取时间的月度的组成部分
      • Day(expression) – 取时间之天的有些
      • Hour(expression) – 取时间之常之有的
      • Minute(expression) – 取时间的剪切的有
      • Second(expression) – 取时间之秒的片
      • Millisecond(expression) – 取时间之毫秒的片段(0 – 999)
      • CurrentDateTime() – 取服务器的手上日
      • CurrentUtcDateTime() – 取服务器的 UTC 当前时
      • CurrentDateTimeOffset() – 返回值类型也 DateTimeOffset ,
        取当前时间和相对于 UTC 时间之差值
    • 函数 – 按 位 运算的函数
      • BitWiseAnd(value1, value2) – 取 value1 和 value2 的各项和结果
      • BitWiseOr(value1, value2) – 取 value1 和 value2 的个或结果
      • BitWiseXor(value1, value2) – 取 value1 和 value2
        的位异或结果
      • BitWiseNot(value) – 取 value 的位求反结果
    • 函数 – 其它函数
      • NewGuid() – 返回新生成的 GUID
  • 不常用运算符
    • row, multiset, createref, deref, key, ref, navigate

示例
EntitySQL.aspx.cs

数学 1using System;
数学 2using System.Collections.Generic;
数学 3using System.Linq;
数学 4using System.Web;
数学 5using System.Web.UI;
数学 6using System.Web.UI.WebControls;
数学 7
数学 8using System.Data.Objects;
数学 9using System.Data.Objects.DataClasses;
数学 10using System.Data.Common;
数学 11
数学 12using VS2008SP1.Business;
数学 13
数学 14public partial class EntityFramework_EntitySQL : System.Web.UI.Page
数学 15数学 16数学 17{
数学 18    protected void Page_Load(object sender, EventArgs e)
数学 19数学 20    数学 21{
数学 22        if (!Page.IsPostBack)
数学 23数学 24        数学 25{
数学 26            // esql 概述
数学 27            Demo();
数学 28
数学 29            // 在 Linq 方法上使 esql
数学 30            Demo2();
数学 31
数学 32            // esql 查询表达式的 demo
数学 33            Demo3();
数学 34
数学 35            // 集合运算符的 Demo
数学 36            Demo4();
数学 37
数学 38            // 分页运算符的 Demo
数学 39            Demo5();
数学 40        }
数学 41    }
数学 42
数学 43数学 44    /**//// <summary>
数学 45    /// esql 概述
数学 46    /// </summary>
数学 47    void Demo()
数学 48数学 49    数学 50{
数学 51        using (var ctx = new NorthwindEntities())
数学 52数学 53        数学 54{
数学 55            // 下面 esql 中的 NorthwindEntities 为 EntityContainer 的名称
数学 56            // [] – 遇到特殊之段落名称时(如字),用此括起来
数学 57            string esql = “select c.[CategoryId], c.[CategoryName] from NorthwindEntities.Categories as c”;
数学 58
数学 59            ObjectQuery<DbDataRecord> query = ctx.CreateQuery<DbDataRecord>(esql);
数学 60
数学 61            // it – ObjectQuery<T> 的默认名称
数学 62            // query.Where(“it.CategoryId=1”).Execute(MergeOption.NoTracking);
数学 63
数学 64            // Name – 可以修改 ObjectQuery<T> 的名,以后又引用该 ObjectQuery<T> 时尽管运用这个称号
数学 65            query.Name = “cate”;
数学 66            // 可以当 Linq 方法齐动 esql,后同任意个 ObjectParameter 类型的参数
数学 67            query = query.Where(“cate.CategoryId=@CategoryId”, new ObjectParameter(“CategoryId”, 1));
数学 68
数学 69数学 70            /**//*
数学 71            exec sp_executesql N’SELECT 
数学 72            1 AS [C1], 
数学 73            [Extent1].[CategoryID] AS [CategoryID], 
数学 74            [Extent1].[CategoryName] AS [CategoryName]
数学 75            FROM [dbo].[Categories] AS [Extent1]
数学 76            WHERE [Extent1].[CategoryID] = @CategoryId’,N’@CategoryId int’,@CategoryId=1 
数学 77            */
数学 78        }
数学 79
数学 80        using (var ctx = new NorthwindEntities())
数学 81数学 82        数学 83{
数学 84            // value – 后面只能和一个分子
数学 85            string esql = “select value c.CategoryId from Categories as c where c.CategoryId=@CategoryId or c.CategoryId=@CategoryId2”;
数学 86
数学 87            ObjectParameter op = new ObjectParameter(“CategoryId”, 1);
数学 88            ObjectParameter op2 = new ObjectParameter(“CategoryId2”, 2);
数学 89
数学 90            // 配置 esql 的参数的法门
数学 91            ObjectQuery<DbDataRecord> query = ctx.CreateQuery<DbDataRecord>(esql, op);
数学 92            query.Parameters.Add(op2);
数学 93
数学 94数学 95            /**//*
数学 96            exec sp_executesql N’SELECT 
数学 97            [Extent1].[CategoryID] AS [CategoryID]
数学 98            FROM [dbo].[Categories] AS [Extent1]
数学 99            WHERE ([Extent1].[CategoryID] = @CategoryId) OR ([Extent1].[CategoryID] = @CategoryId2)’,N’@CategoryId int,@CategoryId2 int’,@CategoryId=1,@CategoryId2=2 
数学 100            */
数学 101        }
数学 102
数学 103        using (var ctx = new NorthwindEntities())
数学 104数学 105        数学 106{
数学 107            // 使用 SqlServer 命名空间,以使用 SqlServer 的 LEN 函数为条例
数学 108            string esql = “using SqlServer;select LEN(p.ProductName) as PriceCount from Products as p”;
数学 109            // string esql = “select SqlServer.LEN(p.ProductName) as PriceCount from Products as p”;
数学 110
数学 111数学 112            /**//*
数学 113            SELECT 
数学 114            1 AS [C1], 
数学 115            LEN([Extent1].[ProductName]) AS [C2]
数学 116            FROM [dbo].[Products] AS [Extent1] 
数学 117            */
数学 118
数学 119
数学 120            // 使用 System 命名空间,以利用 .NET(CLR) 的 String 类型为例
数学 121            esql = “select value cast(c.CategoryId as System.String) from Categories as c”;
数学 122            // esql = “using System;select value cast(c.CategoryId as String) from Categories as c”;
数学 123
数学 124数学 125            /**//*
数学 126            SELECT 
数学 127            CAST( [Extent1].[CategoryID] AS nvarchar(max)) AS [C1]
数学 128            FROM [dbo].[Categories] AS [Extent1]
数学 129            */
数学 130        }
数学 131    }
数学 132
数学 133数学 134    /**//// <summary>
数学 135    /// 在 Linq 方法及以 esql
数学 136    /// </summary>
数学 137    void Demo2()
数学 138数学 139    数学 140{
数学 141        using (var ctx = new NorthwindEntities())
数学 142数学 143        数学 144{
数学 145            var where = ctx.Categories.Where(“it.CategoryId = 1”);
数学 146            var orderby = ctx.Categories.OrderBy(“it.CategoryId desc”);
数学 147            var select = ctx.Categories.Select(“it.CategoryId as ID”);
数学 148            var selectvalue = ctx.Categories.SelectValue<string>(“cast(it.CategoryId as System.String) + ‘_’ + it.CategoryName”);
数学 149            var top = ctx.Categories.Top(“3”);
数学 150            var skip = ctx.Categories.Skip(“it.CategoryId desc”, “3”);
数学 151            var groupby = ctx.Products.GroupBy(“it.Categories.CategoryId”, “it.Categories.CategoryId, count(1)”);
数学 152
数学 153            // 相当给当 Categories 上 Load 进来 Products
数学 154            ctx.Categories.Include(“it.Products”);
数学 155        }
数学 156    }
数学 157
数学 158数学 159    /**//// <summary>
数学 160    /// esql 查询表达式的 demo
数学 161    /// </summary>
数学 162    void Demo3()
数学 163数学 164    数学 165{
数学 166        string esql =
数学 167           @”select 
数学 168                it.Categories.CategoryId, Count(1) as ProductCount
数学 169              from 
数学 170                Products as it 
数学 171              group by 
数学 172                it.Categories.CategoryId 
数学 173              having 
数学 174                count(1) > 10
数学 175              order by 
数学 176                it.Categories.CategoryId desc “;
数学 177数学 178        /**//* 
数学 179        注:其中 [C2] 会自动为射到 ProductCount
数学 180        SELECT 
数学 181        [Project1].[C2] AS [C1], 
数学 182        [Project1].[CategoryID] AS [CategoryID], 
数学 183        [Project1].[C1] AS [C2]
数学 184        FROM ( SELECT 
数学 185            [GroupBy1].[A2] AS [C1], 
数学 186            [GroupBy1].[K1] AS [CategoryID], 
数学 187            1 AS [C2]
数学 188            FROM ( SELECT 
数学 189                [Extent2].[CategoryID] AS [K1], 
数学 190                COUNT(1) AS [A1], 
数学 191                COUNT(1) AS [A2]
数学 192                FROM  [dbo].[Products] AS [Extent1]
数学 193                LEFT OUTER JOIN [dbo].[Categories] AS [Extent2] ON [Extent1].[CategoryID] = [Extent2].[CategoryID]
数学 194                GROUP BY [Extent2].[CategoryID]
数学 195            )  AS [GroupBy1]
数学 196            WHERE [GroupBy1].[A1] > 10
数学 197        )  AS [Project1]
数学 198        ORDER BY [Project1].[CategoryID] DESC 
数学 199        */
数学 200
数学 201
数学 202        string esql2 =
数学 203            @”select 
数学 204                p.ProductName, c.CategoryName
数学 205              from 
数学 206                Products as p
数学 207              inner join
数学 208                Categories as c
数学 209              on 
数学 210                p.Categories.CategoryId = c.CategoryId”;
数学 211数学 212        /**//*
数学 213        SELECT 
数学 214        1 AS [C1], 
数学 215        [Extent1].[ProductName] AS [ProductName], 
数学 216        [Extent2].[CategoryName] AS [CategoryName]
数学 217        FROM  [dbo].[Products] AS [Extent1]
数学 218        INNER JOIN [dbo].[Categories] AS [Extent2] ON  EXISTS (SELECT 
数学 219            cast(1 as bit) AS [C1]
数学 220            FROM   ( SELECT cast(1 as bit) AS X ) AS [SingleRowTable1]
数学 221            INNER JOIN [dbo].[Categories] AS [Extent3] ON 1 = 1
数学 222            WHERE ([Extent1].[CategoryID] = [Extent3].[CategoryID]) AND ([Extent3].[CategoryID] = [Extent2].[CategoryID])
数学 223        ) 
数学 224        */
数学 225
数学 226
数学 227        string esql3 =
数学 228            @”select 
数学 229                p.ProductId, 
数学 230                (
数学 231                  case 
数学 232                    when p.ProductId < 10 then ‘小于10的ID’
数学 233                    when p.ProductId < 20 then ‘小于20浮等于10的ID’
数学 234                    else ‘大于等于20之ID’
数学 235                  end
数学 236                ) as Comment
数学 237              from Products as p”;
数学 238数学 239        /**//*
数学 240        SELECT 
数学 241        1 AS [C1], 
数学 242        [Extent1].[ProductID] AS [ProductID], 
数学 243        CASE WHEN ([Extent1].[ProductID] < 10) THEN ‘小于10的ID’ WHEN ([Extent1].[ProductID] < 20) THEN ‘小于20高于等于10的ID’ ELSE ‘大于等于20之ID’ END AS [C2]
数学 244        FROM [dbo].[Products] AS [Extent1] 
数学 245        */
数学 246    }
数学 247
数学 248数学 249    /**//// <summary>
数学 250    /// 集合运算符的 Demo
数学 251    /// </summary>
数学 252    void Demo4()
数学 253数学 254    数学 255{
数学 256        using (var ctx = new NorthwindEntities())
数学 257数学 258        数学 259{
数学 260            string esql = “flatten(select value c.Products from NorthwindEntities.Categories as c)”;
数学 261数学 262            /**//*
数学 263            SELECT 
数学 264            [Extent1].[Discontinued] AS [Discontinued], 
数学 265            [Extent1].[ProductID] AS [ProductID], 
数学 266            [Extent1].[ProductName] AS [ProductName], 
数学 267            [Extent1].[QuantityPerUnit] AS [QuantityPerUnit], 
数学 268            [Extent1].[ReorderLevel] AS [ReorderLevel], 
数学 269            [Extent1].[UnitPrice] AS [UnitPrice], 
数学 270            [Extent1].[UnitsInStock] AS [UnitsInStock], 
数学 271            [Extent1].[UnitsOnOrder] AS [UnitsOnOrder]
数学 272            FROM [dbo].[Products] AS [Extent1]
数学 273            WHERE [Extent1].[CategoryID] IS NOT NULL
数学 274            */
数学 275
数学 276
数学 277            string esql2 = “select p.ProductId from Products as p where p.ProductId in {1,2,3}”;
数学 278数学 279            /**//*
数学 280            SELECT 
数学 281            1 AS [C1], 
数学 282            [Extent1].[ProductID] AS [ProductID]
数学 283            FROM [dbo].[Products] AS [Extent1]
数学 284            WHERE ([Extent1].[ProductID] = 1) OR ([Extent1].[ProductID] = 2) OR ([Extent1].[ProductID] = 3) 
数学 285            */
数学 286
数学 287
数学 288            string esql3 = “anyelement(select value c from NorthwindEntities.Categories as c)”;
数学 289数学 290            /**//*
数学 291            SELECT 
数学 292            [Element1].[CategoryID] AS [CategoryID], 
数学 293            [Element1].[CategoryName] AS [CategoryName], 
数学 294            [Element1].[Description] AS [Description], 
数学 295            [Element1].[Picture] AS [Picture]
数学 296            FROM   ( SELECT cast(1 as bit) AS X ) AS [SingleRowTable1]
数学 297            LEFT OUTER JOIN  (SELECT TOP (1) 
数学 298                [Extent1].[CategoryID] AS [CategoryID], 
数学 299                [Extent1].[CategoryName] AS [CategoryName], 
数学 300                [Extent1].[Description] AS [Description], 
数学 301                [Extent1].[Picture] AS [Picture]
数学 302                FROM [dbo].[Categories] AS [Extent1] ) AS [Element1] ON 1 = 1
数学 303            */
数学 304        }
数学 305    }
数学 306
数学 307数学 308    /**//// <summary>
数学 309    /// 分页运算符的 Demo
数学 310    /// </summary>
数学 311    void Demo5()
数学 312数学 313    数学 314{
数学 315        string esql =
数学 316            @”select p.ProductId from Products as p 
数学 317              order by p.ProductId skip 10 limit 3″;
数学 318数学 319        /**//*
数学 320        SELECT TOP (3) 
数学 321        [Project1].[C1] AS [C1], 
数学 322        [Project1].[ProductID] AS [ProductID]
数学 323        FROM ( SELECT [Project1].[ProductID] AS [ProductID], [Project1].[C1] AS [C1], row_number() OVER (ORDER BY [Project1].[ProductID] ASC) AS [row_number]
数学 324            FROM ( SELECT 
数学 325                [Extent1].[ProductID] AS [ProductID], 
数学 326                1 AS [C1]
数学 327                FROM [dbo].[Products] AS [Extent1]
数学 328            )  AS [Project1]
数学 329        )  AS [Project1]
数学 330        WHERE [Project1].[row_number] > 10
数学 331        ORDER BY [Project1].[ProductID] ASC
数学 332        */
数学 333    }
数学 334}
数学 335

OK
[源码下载]

相关文章

No Comments, Be The First!
近期评论
    分类目录
    功能
    网站地图xml地图