LINQ to SQL入门篇

LINQ TO SQL Null 查询 LINQ TO SQL   Null 查询   在论坛里不止一次看到有网友提问关于LINQ NULL查询的问题了,现以微软NorthWind 数据库为例总结一下: 如查询这样一句SQL ,用LINQ如何实现? SELECT * FROM [Orders] AS [t0] WHERE ([t0].[ShippedDate]) IS NULL   v  方法一: from o i 阅读详情

LINQ to SQL虽不是什么新技术,不过之前一直没有接触过,最新项目中要用到就临时抱佛脚学习了一下,看到一个很好的例子,拿出来跟大家分享一下。

 

选择Linq to Sql的理由:

  1. 它是微软自己的产品,和.NET平台有着天生的适应性。如果你使用.NET Framework3.5和VS2008开发环境,它本身就集成在里面了,同时VS2008对于Linq to Sql给予了诸多方便的支持。使用它,你不仅在开发和部署时不用考虑第三方库,更可以尽情享受VS2008带来的种种方便。 
   2. 上手十分容易,使用十分轻松,通常,你不需要编写一行代码,也不用写任何XML配置,完全通过可视化拖拽就能完成ORM层的构建。 
   3.功能丰富,使用便捷。当轻松构建好ORM层后,你就可以更轻松的操纵数据库了。Linq to Sql提供了丰富的功能,完全可以满足日常数据访问的需求。使用方法也非常简单、灵活。

 

下面进入中文:

  Step1:建立数据库
   在使用Linq to Sql前,我们要将相应的数据库建好。在这个Demo中,使用的数据库是sql server Express 2005。
   我们首先建立一个叫的数据库MyBulletin,及两个数据表:Category和Bulletin,分别表示公告的分类和公告,建立方法不再赘述。至于两个表的具体字段请参看图1。 
 

图1、数据表结构

 其中Category和Bulletin存在一个一对多的关联,表示一个分类下可以有多条公告。
  
  Step2:建立LINQ to SQL Classes文件
   数据建好后,我们需要建立LINQ to SQL Classes文件。这种文件是Linq to Sql框架的主要文件,后面自动生成的实体类和ORM代码都存在于这个文件中。
   我们打开VS2008,新建一个C# Class Labrary工程,名称为LinqToSqlDemo.Orm,建好后在工程上单击右键,选择“Add”->“New Item”,在文件类型中选择“LINQ to SQL Classes”,文件名命名为“DataClasses.dbml”,如图2所示。

图2、新建LINQ to SQL Classes文件


Step3:根据数据库表自动生成代码
   当建好LINQ to SQL Classes后,VS主界面中自动打开了这个文件。可以看到,这个文件实际是一个设计文件,目前还不包含任何代码和元素。下一步就是利用我们刚才的数据库自动生成ORM代码了。
   打开Server Explorer面板。一般它位于VS的左上角,如果没有,请到View菜单中去打开。然后在Date Connections上右键单击,选择“Add Connection”,从这里添加对数据库MyBulletin的连接。

图3、添加数据库连接

 如图3所示,在Server name中填入SQL Server数据库服务的名字,如果使用的是SQL Server Express 2005,服务名一般是“计算机名/SQLEXPRESS”的格式,然后在“Select or enter a database name”中选择MyBulletin,单击“OK”,就连上我们所需的数据库了。
   这时,展开这个连接下的Tables节点,应该能看到Category和Bulletin两个表,选中两个表,将它们拖到DataClasses.dbml的设计区,就会看到如图4所示的样子。

图4、设计视图

然后,按Ctrl+S保存,OK!ORM构建完了!
   没有骗你,所有需要的代码已经生成完成,现在可以使用它们操作MyBulletin数据库了。不要怀疑,Linq to Sql使用起来就是这么轻松加愉快,不需要写一行代码,也不需要写一个XML字符,ORM就构建完了!
   我知道你没看到生成的东西可能不太放心,那么你可以在Solution Explorer里展开DataClasses.dbml节点,看到里面的DataClasses.designer.cs文件没,打开它,里面就是刚才自动生成的代码,我们的数据访问操作就靠这些代码了。另外顺表提一下,数据库的连接字符串放在工程根目录下的app.config文件里,这也是自动生成的,打开它,就可以看到连接字符串。以后如果要修改连接字符串,就修改这里。
   好了,ORM构建好了,下面我们看看怎么用。
  
  Step4:使用Linq to Sql访问数据库
   我们首先新建一个工程。为了简单起见,我们就直接建立一个C# Console Application测试我们的ORM吧。将这个工程命名为LinqToSqlDemo.Test。当然,建好工程后,不要忘了添加对工程LinqToSqlDemo.Orm的引用,还要添加对“System.Data.Linq”命名空间的引用。
   然后,我们打开Program.cs文件,将其中的内容替换为如下测试代码。 
   
  
现在,我们先来看运行结果:

                                                                               图5、测试程序运行结果
   我们先来看看这段测试程序做了什么事。刚开始,数据库是空的,我们首先插入三个分类,并在“体育新闻”下插入两条公告,这是对Insert的测试。接着,我们删除了“国际要闻”分类,这是对Delete的测试。然后,我们将“财经快报”改为“财经新闻”,这是对Update测试。另外,整个过程的输出当然是对Select的测试。这样,数据库基本的操作都测试过了。从输出结果来看,我们的ORM组件运行很顺利,程序输出正确。

 

程序分析
      经过简单的四步,我们就完成了通过Linq to Sql操作数据库的过程。下面我们对测试代码进行一个简要的分析,帮助朋友们学会Linq to Sql操作数据库的基本方法。

      取得数据库Gateway
      要操作数据库,我们首先要获得一个DataContext对象,这个对象相当于一个数据库的Gateway,所有的操作都是通过它进行的。这个对象的名字是“LINQ to SQL Classes文件名+‘DataContext’”,这里,就是DataClassesDataContext了。它和普通对象一样,直接实例化就行了。在Demo里我将它实例化为一个静态变量。
      取得DataContext对象后,每个数据表就会映射到其一个集合属性,例如Category表映射到dataContext.Categories,这是一个集合属性,每一个元素是一个实体类,代表此表中的一条记录。实体类名和表名相同。实体类的字段自然就映射到对应表的字段。
      还有一点需要注意,数据库中的一对多关系,在Linq to Sql生成代码时会自动表示到类结构中。并且,这种关联是双向的。例如,Category与Bulletin的一对多关系,到了类结构中,反映成如下形式:在Category类中,有一个名为Bulletins的集合属性,内容是所有属于此Category的Bulletin对象的引用。而在Bulletin类中,也会有个Category1属性(由于Category这个名字被我们用了,所以,这个关联属性自动加了个“1”),其内容是此Bulletin所属Category对象的引用。

      Insert操作
      Insert用于向数据库添加记录。一般情况下,使用“DataContext.表映射集合.InsertOnSubmit(实体类)”的方式就可以完成Insert操作。不过这里要注意一点,由于Linq to Sql使用了“Unit of Work”模式,所以,对数据库的操作不会立即提交到数据库,而要调用DataContext的SubmitChanges方法,所有改动才会被提交到数据库。

      Delete操作
      Delete操作用于从数据库中删除记录。表映射集合的DeleteOnSubmit方法可以实现这个操作。这个方法需要一个参数,就是要删除的实体类,这里不能直接传个ID去删除,要首先通过ID找到相应实体类,传给DeleteOnSubmit再删除。当然最后不要忘了SubmitChanges。

      Update操作
      Update操作用于更新数据库中某已存在记录的信息。在Linq to Sql中,Update操作就是首先加载相应的实体类,修改其相应字段后,SubmitChanges就可以了。

      Select操作
      Select操作用于从数据库中返回指定的记录。在Linq to Sql中,查询结果都是以实体类或实体类集合的方式返回的。其中实体类集合并不是List,如果想转为List,只需在返回结果上调用ToList方法即可。
      如果是查询单一记录,建议使用表映射集合的Single方法。至于查询参数,建议采用lambda表达式。如果你对lambda表达式不熟,可以参考这里http://msdn.microsoft.com/zh-cn/library/bb397687.aspx

其它相关示例代码

      常用Select操作举例
      取得单个记录(ID为3的分类)

  

      取得全部记录(全部分类)

  

      得部分记录(所属分类ID为3的公告,按ID降序排列)

  

     取得部分记录并分页,最后转换为List(所属分类ID为3的公告并分页,pageSize为每页多少条记录,pageNo为第几页)

作者: T2噬菌体
出处: http://leoo2sk.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
LINQ to SQL 小结 1. VS(visual studio)里获取LINQ to SQL模板 工具---获取工具和功能---单个组件---LINQ to SQL Class 2. 创建一个项目(以控制台程序为例) 3.添加linq to sql classes 4. 打开server explorer,建立数据库连接,并将表拖到dbml文件中,结果如下图 5. 在dbml文件的... 阅读详情

相关推荐

深入理解Linq:从Linq To Sql到Linq To DataSet

Linq(Language Integrated Query)是一种在.NET环境中集成查询功能的方式。它提供了一种类型安全、编译时检查的方法来操作数据源中的数据。Linq定义了一系列标准查询操作符,这些操作符可用于查询数组、数据库以及其他数据源。ORM(对象关系映射)框架是现代数据访问技术的核心,它将对象模型映射到关系数据库模型。Linq To Sql作为.NET平台下的ORM框架,简化了数据访问层的开发过程,允许开发者使用C#等.NET语言进行数据库查询,而无需编写传统的SQL语句。

weixin_35390379的博客 827

C# LINQ,SQL

C# LINQ,SQL

Blue 1956

TCP报文 Flood攻击原理与防御方式

TCP交互过程中包含SYN、SYN-ACK、ACK、FIN和RST报文,这几类报文也可能会被攻击者利用,海量的攻击报文会导致被攻击目标系统资源耗尽、网络拥塞,无法正常提供服务。接下来我们介绍几种常见的Flood攻击的原理和防御方式。

qq_32044265的博客 4219

Link To Sql入门简介

LINQ TO SQL概述:可以为关系数据库提供一个对象模型。最重要的就是为数据库创建一个对象模型(由.net框架的类组成),并将该对象模型映射到数据库中的相应对象。 LING TO SQL对象模型的基本元素:实体类、属性或字段、关联、方法 DataCountext(数据上下文):为LINQ TO SQL 提供操作数据库的入口。 使用Linq to SQL操作数据库,首先需要为该数据库创建一个继承与DataContext类的自定义的数据上下文类 DataCountext类的方法: ExecuteComman

Abrahaml的博客 565

Mac上安装Label Studio

以上步骤详细说明了如何在Mac上通过Anaconda安装Label Studio。记得根据你的具体需求选择是否创建新的环境,并使用conda或pip进行安装。安装完成后,务必验证Label Studio是否成功运行。

g2526的博客 1958

【实战指南】OpenClaw 使用 Bird Skill 接入 X(Twitter)的终极省心方案:告别每次都要手动喂 Cookie 的痛苦

OpenClaw 使用 Bird Skill 接入 X(Twitter)的终极省心方案:告别每次都要手动喂 Cookie 的痛苦

hampeter的博客 1801

Linq语法详细

1.简单的linq语法这里写代码片 //1 var ss = from r in db.Am_recProScheme select r; //2 var ss1 = db.Am_recProScheme; //3

nuannuan326的专栏 730

无刷直流电机计算转速

一个霍尔传感器周期(Tms)有两种模式输出方式(3FG/1FG),一个电周期是6个60°电角度,电机磁极数是P,磁极对数PP = P / 2 3FG模式: 1个电周期= 6 * T 1FG模式: 1个电周期= 2 * T 1秒钟电周期个数: 1分钟电周期个数: 1分钟转速: 举例: 假设电机磁极数是8,3FG模式下,霍尔周期700us,计算该条件下转速 ...

meimiaorenshengqq的博客 9678

C#数据库操作——LINQ to SQL技术

在 LINQ to SQL 中,将关系数据库的数据模型,映射到一种对象模型中,该对象模型省指开发人员使用的编程语言表示的对象。通俗来讲,就是将数据库中的关系型数据,映射到代码里的实例对象。

weixin_59555766的博客 2709

华为OD技术面真题 - Python开发 - 1

汇总华为OD技术面八股Python八股,高频技术真题并提供详细解答。

qq_45776114的博客 1717

微信小程序 - 接入腾讯地图 SDK 及详细使用教程,结合小程序 mpa 地图组件展示腾讯地图(基础使用 / 授权当前位置 / 配合小程序map组件的使用 / 腾讯地图逆地址解析 / 坐标系的转化)

微信小程序使用腾讯地图完整流程,微信小程序 接入腾讯地图,如何在微信小程序中接入腾讯地图,微信小程序引入腾讯地图API方法,腾讯地图小程序SDK,微信小程序实现使用腾讯地图SDK步骤详细介绍,微信小程序接入腾讯地图(线路规划、逆解析)、高德地图,微信小程序之使用腾讯地图,微信小程序 接入第三方地图,小程序服务器配置地图,微信小程序接入腾讯地图,微信小程序插入腾讯地图教程,微信小程序如何调用腾讯地图,如何在微信小程序中接入腾讯地图,微信小程序腾讯地图SDK使用方法,在微信小程序上创建一个简单的腾讯地图,微信小

✅ 精选推荐文章 1万+

LINQ To SQL 语法及实例大全

LINQ to SQL语句(1)之Where   Where操作   适用场景:实现过滤,查询等功能。   说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句。   Where操作包括3种形式,分别为简单形式、关系条件形式、First()形式。下面分别用实例举例下:   1.简单形式:   例如:使用where筛选在伦

pan_junbiao的博客 10万+

15、SQL Server查询优化与CPU负载管理

本文深入探讨了SQL Server查询优化与CPU负载管理的关键技术,包括强制连接类型的使用、键查找问题的解决、索引设计的最佳实践、高CPU负载的排查与优化,以及并行性的利弊与调整策略。通过优化查询逻辑、合理设计索引、监控与管理CPU资源,可以显著提升SQL Server的性能和稳定性。适用于数据库开发人员和DBA进行性能调优参考。

pz8901234的博客 77

Linq to SQL -- 入门篇

一、什么是Linq Linq是语言集成查询(Language Integrated Query)的简称,是visual Studio 2008和.NET Framework 3.5版本中一项突破性的创新,它在对象领域和数据领域之间架起了一座桥梁。 Linq支持各种数据源: 1、ADO.NET DataSet 2、XML文档 3、SQL Server数据库 4、支持IEnumerable...

weixin_30629977的博客 155

171、运动控制中的标定:摩擦力与死区补偿标定

摘要(149字) 运动控制系统中的摩擦力与死区补偿是提升精度的关键。摩擦力分为静摩擦、库仑摩擦和粘滞摩擦,其中Stribeck效应是低速抖动的主因;死区则表现为控制信号的无效区间。有效标定方法包括恒速测试(摩擦力)和斜坡响应法(死区)。补偿策略需采用分段前馈和动态调整,避免过度补偿导致振荡。实践中要注意机械状态检查、补偿量限幅,并定期重新标定。硬件升级配合算法补偿才能实现最优控制,标定工作应优先于PID参数调整。

m0_50546716的博客 227

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【极客营】LINQ入门篇—LINQ,类似SQL的集成化查询语言

系列课程视频地址:https://ke.qq.com/course/267924?flowToken=1006068 1、LINQ是什么  LINQ(Language Integrated Query)语言集成查询是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。 它在对象和数据之间建立一种对应关系,可以使用...

geek_nanji的博客 361

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Linq to sql 入门篇 (操作Northwind 数据库的Categories表)

281

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

EF Core 、LINQ to SQL 、Dapper

EF Core是微软的现代ORM,功能全面,支持多种数据库,适合复杂的数据模型和需要迁移的场景。LINQ to SQL较老,仅支持SQL Server,适合遗留项目。Dapper是轻量级的微ORM,性能高,适合需要直接控制SQL的场景。EF Core开发效率高,但性能可能不如Dapper;Dapper性能好,但需要手写SQL,维护成本可能高;LINQ to SQL已经过时,但维护旧项目可能还需要用到。

weixin_46761444的博客 1786

Linq to sql实现简单查询和分页

 Linq to sql是LINQ(.NET语言集成查询)的一部分,全称基于关系数据的 .NET 语言集成查询,用于以对象形式管理关系数据,并提供了丰富的查询功能,它和Linq to xml、Linq to objects、Linq to dataset、Linq to entities等组成了强大的LINQ。     在学习Linq To Sql之前,我们一般通过把sql语句形成一个st

思想上移,行动下移 5509

Linq初探--Linq to SQL

LINQ,语言集成查询(Language Integrated Query)是一组用于C#和VisualBasic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。       Linq很强大,包括:Linq to SQL,Linq to Object,Linq to XML,Linq to DataSet,Linq to ADO.NET.

康 1410

史上最全 ——LINQ to SQL语句

原文:http://www.cnblogs.com/jara/p/3473996.html LINQ to SQL语句(1)之Where 适用场景:实现过滤,查询等功能。 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句。Where操作包括3种形式,分别为简单形式、关系条件形式、First()形式。下面分别用实例举

每天进步一点点 3万+

Linq技术一:Linq to SQL和Devart Linq to SQL Model

Linq技术是在C# 3.0里面发布的,最初包含Linq to SQL, Linq to Object 和Linq to xml。然后在4.0里面发布了DLR动态语言运行时,所以有了Linq动态实现方式。 介绍一下命名空间: System.Linq; System.Linq.Expressions; System.XML.Linq; System.Data.Linq; 介绍一下

走过的路和守望的未来 2191

C# LINQ TO SQL

LINQ to SQL语句(1)之Where   Where操作   适用场景:实现过滤,查询等功能。   说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句。   Where操作包括3种形式,分别为简单形式、关系条件形式、First()形式。下面分别用实例举例下:   1.简单形式:   例如:使用where筛选在伦

果老大的博客 2902

How to use MySql with Linq to SQL

The vs2008 and vs2010 dont support the generation LINQ to SQL business objects from a MySQL database, if you drop a MySql table to a Linq to Sql Class, it will popup a "The selected object(s) use an

egga的专栏 1957

LINQ to SQL与IQueryable

名言警句 “理解IQueryable的最简单方式就是,把它看作一个查询,在执行的时候,将会生成结果序列。” - Jon Skeet LINQ to Object和LINQ to SQL有何区别? LINQ to SQL可以将查询表达式转换为SQL语句,然后在数据库中执行。相比LINQ to Object,则是将查询表达式直接转化为Enumerable的一系列方法,最终在C#内部执行。LINQ to Object的数据源总是实现IEnumerable<T>(所以不如叫做LINQ to IEnume

极客神殿 1148

LINQ TO SQL

LINQ TO SQL    LINQ TO SQL是LINQ中最重要的一个组建,为.NET Framework3.5及以上版本所支持,它可以为关系数据库提供一个对象模型。    LINQ TO SQL最重要的一个功能就是为数据库创建一个对象模型(由基于.NET框架的类组成),并将该对象模型映射到数据库中的相应对象。LINQ TO SQL对象模型和SQL Server数据哭中的对象的映射关系如表1...

560
上一篇: Asp.net Jquery Ajax 实例
下一篇: JSON是什么
phpcrazy86
博客等级 码龄19年 10粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值