首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Sql Server 2008 开发带来的新特性

您可能熟悉 LINQ(语言集成查询)工具,它允许数据库开发人员使用基于 Microsoft® .NET 的编程语言而非普通的 T-SQL 语句向数据库发出查询请求。...SQL Server 2008 向 SQL 提供程序提供了新的 LINQ 命令,可以允许开发人员直接对 SQL Server 表和列发出 LINQ 命令,从而增强了 LINQ 的功能。...底层数据库结构的抽象化可极大地提高开发人员的生产率。 SQL Server 2008 T-SQL 提供了许多不同的增强功能,可以提高数据库开发人员的效率。...过去,数据库开发人员经常会遇到如何存储及利用大型二进制对象(例如文档和介质文件)的问题。常用的方法是将文件存储在数据库以外,只在数据库存储一个到外部文件的指针。...但是使用这种方法时,移动文件时必须要记得同时更新指针。 SQL Server 2008 使用新的 FILESTREAM 数据类型来解决此问题。

1.2K80
您找到你想要的搜索结果了吗?
是的
没有找到

PDF.NET数据开发框架实体类操作实例(for PostgreSQL,并且解决自增问题) PDF.NET数据开发框架实体类操作实例(MySQL)

注:PDF.NET SOD框架 5.6.0.1121 之后,框架取消了这一个限制,你仍然可以像在其它数据库那样使用PostgreSQL的自增列,实体类无需做任何更改。..."; PostgreSQL,不同的表需要设置不同的 InsertKey ,而在SQLSERVER等数据库,始终采用 InsertKey=“select @@IDENTITY ”; 注:PDF.NET...连接字符串:server=127.0.0.1;User Id=root;password=;DataBase=mydb 请确保数据库服务器和数据库是否有效(SqlServer,Access 会自动创建数据库...------------------------------ 当前使用数据库类型是:PostgreSQL 连接字符串:server=127.0.0.1;User Id=root;password=...)------------------------------ 当前使用数据库类型是:MySql 连接字符串:server=127.0.0.1;User Id=root;password=;DataBase

1.5K60

盘点 .NET 比较流行的开源的ORM框架

,将数据库结构以ORM模式映射到应用程序。...开发人员使用Linq语言,对数据库操作如同操作object对象一样省事。 EF有三种使用场景: 1、从数据库生成Class。 2、由实体类生成数据库表结构。...(国外) LINQ to DB 是最快的 LINQ 数据库访问库, POCO 对象和数据库之间提供了一个简单、轻量、快速且类型安全的层。...架构上,它比 Dapper、Massive 或 PetaPoco 等微 ORM 高出一步,因为您使用 LINQ 表达式不是魔术字符串,同时代码和数据库之间维护一个薄抽象层。...通过使用 DynamicMethod 生成消除 Linq 和快速属性分配来获得出色的性能。 查询语言是好的 ole SQL。 包括一个低摩擦的 SQL 构建器类,使编写内联 SQL变得更加容易。

3.9K41

2022年了有哪些值得推荐的.NET ORM框架?

它解决了对象和关系型数据库之间的数据交互问题,ORM的作用是关系型数据库和业务实体对象之间作一个映射,这样我们具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法...EF Core 通过提供程序插件 API 与 SQL Server、Azure SQL 数据库、SQLite、Azure Cosmos DB、MySQL、PostgreSQL 和其他数据库一起使用。...EF Core 可用作对象关系映射程序 (O/RM),这可以实现以下两点: 使 .NET 开发人员能够使用 .NET 对象处理数据库无需再像通常那样编写大部分数据访问代码。...LINQ to DB 是最快的LINQ数据库访问库,POCO对象和数据库之间提供了一个简单、轻量、快速且类型安全的层。...架构上,它比 Dapper、Massive 或 PetaPoco 等微 ORM 高出一步,因为您使用 LINQ 表达式,不是魔术字符串,同时代码和数据库之间维护一个薄抽象层。

5.8K11

PDF.NET数据开发框架操作MySQL实体类操作实例

我们最近的项目中,SQL-MAP使用较多,但是实体类用的很少,实际上,“PDF.NET数据开发框架”的实体类相当强大,下面的测试程序是MySQL操作的实例。...1,首先在App.config文件配置数据库连接字符串: <?xml version="1.0" encoding="utf-8" ?...; //将自动ID属性赋值             Console.WriteLine("\r\nExecuted SQL Text:\r\n{0}\r\n", PWMIS.DataProvider.Data.CommandLog.Instance.CommandText...EntityQuery 的实例对象方法更新实体             //只会更新赋值过的属性值             EntityQuery eq = new EntityQuery...`tb_user` SET `Age`=@P0 WHERE `ID`=@P1 当时我们只给Age属性重新赋值了,所以生成的更新语句也仅仅更新了该字段。

97590

ASP.NET MVC框架(第四部分): 处理表单编辑和提交场景

点击Save(保存)之后,产品就会添加到数据库,然后就会转向返回到产品列表网页。 编辑产品 在产品列表网页上,用户可以点击每个产品旁边的“Edit”(编辑)链接。...我们的数据模型 我们将使用SQL Server Northwind样品数据库来存储我们的数据。...然后我们将使用.NET 3.5内置的LINQ to SQL对象关系映射器(ORM)来对Product, Category, 和 Supplier对象进行建模,这些对象代表了我们的数据库数据的记录行。...注意上面,我们在网页上使用了标准的 HTML 元素,不是form runat=server。...但注意,填充的不是一个空对象,我们使用了一个模式,先从数据库获取老的值,然后对它应用用户做的改动,然后更新数据库

5.1K70

PDF.NET数据开发框架实体类操作实例

本篇是 PDF.NET数据开发框架实体类操作实例(MySQL) 的姊妹篇,两者使用了同一个测试程序,不同的只是使用的类库和数据库不同,下面说说具体的使用过程。...1,首先在App.config文件配置数据库连接字符串: <?xml version="1.0" encoding="utf-8" ?...; //将自动ID属性赋值             Console.WriteLine("\r\nExecuted SQL Text:\r\n{0}\r\n", PWMIS.DataProvider.Data.CommandLog.Instance.CommandText...EntityQuery 的实例对象方法更新实体             //只会更新赋值过的属性值             EntityQuery eq = new EntityQuery...Executed SQL Text: INSERT INTO "tb_user"("Name","Age") VALUES (@P0,@P1) 注意:PostgreSQLSQL语句中的字段名要使用双引号

95460

Entity Framework Core 2.0 入门

可以Context里面override这个Onconfiguring方法: 有一个错误, 应该是Server=localhost; (这里无需调用父类的方法, 因为父类的方法什么也没做)....这里, 常规的做法是, 针对开发时的数据库, 可以通过命令直接创建和更新数据库. 针对生产环境, 最好是生成sql脚本, 然后由相关人员去执行这个脚本来完成数据库的创建或者更新....就是这种情况, 新的context一开始并没有追踪one这个数据. 通过使用Update方法, 追踪并设置状态update. 然后更新数据库....看一下Sql: 这个过程一共分两步: 1 插入主表, 2,使用刚插入主表数据的Id, 插入子表数据. 2.数据库数据添加导航属性....查询映射关联数据. 使用Select可以返回匿名类, 里面可以自定义属性. 这个匿名类只方法内有效. 看下SQL: 可以看到SQL只Select了匿名类里面需要的字段.

3.1K80

Entity Framework Core 2.0 入门

可以Context里面override这个Onconfiguring方法: 有一个错误, 应该是Server=localhost; (这里无需调用父类的方法, 因为父类的方法什么也没做)....这里, 常规的做法是, 针对开发时的数据库, 可以通过命令直接创建和更新数据库. 针对生产环境, 最好是生成sql脚本, 然后由相关人员去执行这个脚本来完成数据库的创建或者更新....就是这种情况, 新的context一开始并没有追踪one这个数据. 通过使用Update方法, 追踪并设置状态update. 然后更新数据库....看一下Sql: 这个过程一共分两步: 1 插入主表, 2,使用刚插入主表数据的Id, 插入子表数据. 2.数据库数据添加导航属性....查询映射关联数据. 使用Select可以返回匿名类, 里面可以自定义属性. 这个匿名类只方法内有效. 看下SQL: 可以看到SQL只Select了匿名类里面需要的字段.

3.5K140

2022年了有哪些值得推荐的.NET ORM框架?

它解决了对象和关系型数据库之间的数据交互问题,ORM的作用是关系型数据库和业务实体对象之间作一个映射,这样我们具体的操作业务对象的时候,就不需要再去和复杂的SQL语句打交道,只需简单的操作对象的属性和方法...EF Core 通过提供程序插件 API 与 SQL Server、Azure SQL 数据库、SQLite、Azure Cosmos DB、MySQL、PostgreSQL 和其他数据库一起使用。...EF Core 可用作对象关系映射程序 (O/RM),这可以实现以下两点: 使 .NET 开发人员能够使用 .NET 对象处理数据库无需再像通常那样编写大部分数据访问代码。...LINQ to DB 是最快的LINQ数据库访问库,POCO对象和数据库之间提供了一个简单、轻量、快速且类型安全的层。...架构上,它比 Dapper、Massive 或 PetaPoco 等微 ORM 高出一步,因为您使用 LINQ 表达式,不是魔术字符串,同时代码和数据库之间维护一个薄抽象层。

3.8K20

EF Core关系配置

对象的Article属性赋值(当前赋值也不会出错),也不需要显式地把新创建的Comment类型的对象添加到DbContext。...2、关系配置通过HasForeignKey(c=>c.ArticleId)指定这个属性外键。...未改变(Unchanged):DbContext正在跟踪此实体,该实体存在于数据库,其属性值和从数据库读取到的值一致,未发生改变。...) 更新数据库; “已删除”的实体,SaveChanges() 从数据库删除; 查看实体的状态: 使用DbContext的Entry()方法来获得实体EF Core的跟踪信息对象EntityEntry...DbContext会根据跟踪的实体的状态,SaveChanges()的时候,根据实体状态的不同,生成Update、Delete、Insert等SQL语句,来把内存实体的变化更新数据库

7910

EntityFramework 外键值映射

如果在 EF OnModelCreating 配置了实体外键映射,也就是 SQL Server 的 ForeignKey,那么我们添加实体的时候,主实体的主键值会自动映射到子实体的外键值,并且这个操作一个...OnModelCreating 中进行外键映射配置,所以生成到 SQL Server 的 db_school 数据库,会是这样: ?...c#,如果实体类的属性没有赋值,一般都会取默认值,比如int类型的默认值0,string类型默认值null, 那DateTime的默认值呢?...C#代码 将原本是DateTime类型的字段修改为DateTime?类型,由于可空类型的默认值都是null,所以传入数据库就可以不用赋值数据库的datetime类型也是支持null值的。...实体框架界面层的查询,我们也不在使用部分SQL的条件做法了,采用更加安全的基于DTO的LINQ表达式进行封装,最后传递给后台的也就是一个LINQ对象(非传统方式的实体LINQ,那样分布式处理中会出错

4.1K50

【深入浅出C#】章节 9: C#高级主题:LINQ查询和表达式

例如,关系数据库,需要使用SQL进行查询,而在.NET,需要使用各种不同的API来操作集合、XML等。这种情况下,代码变得分散,难以维护,而且需要学习多种查询语言。...使用匿名类型可以方便地选择要返回的属性,并且无需显式定义一个类。以下是如何使用匿名类型处理查询结果的示例: 假设我们有一个包含人员信息的集合,每个人员都有姓名、年龄和职业属性。...七、LINQ数据库 7.1 使用LINQ进行数据库查询 使用LINQ进行数据库查询通常涉及使用ORM(对象关系映射)工具,如Entity Framework,它允许你将数据库的表映射.NET对象,...to SQL: LINQ to SQL 是另一种用于数据库操作的技术,它专注于与 SQL Server 数据库的交互。...以下是一个简单的示例,展示了如何使用 LINQ to SQL 进行数据库操作: 创建 LINQ to SQL 类型: Visual Studio 创建一个 LINQ to SQL 类型(.dbml

1.2K61

C# 发展历史及版本新功能介绍

可以将 true、false 或 null 赋值给 Nullable。 处理数据库和其他包含不可赋值的元素的数据类型时,能够将 null 赋值给数值类型和布尔类型会特别有用。...匿名类型 匿名类型提供了一种方便的方法,可用来将一组只读属性封装到单个对象,而无需首先显式定义一个类型。 类型名由编译器生成,并且不能在源代码级使用每个属性的类型由编译器推断。...例如,SQL 数据库表包含行的序列。 XML 文件,存在 XML 元素的“序列”(尽管这些元素树结构按层次结构进行组织)。 内存中集合包含对象的序列。...例如, System.Linq.Queryable 类调用相同的方法时(如在 LINQ to SQL 中一样),参数类型 System.Linq.Expressions.Expression<Func...但是,如果要创建在 .NET Framework 之外计算的表达式目录树(例如, SQL Server ),则不应在 lambda 表达式中使用方法调用。

4.2K20

LINQ to SQL使用Translate方法以及修改查询用SQL

上面的例子使用拼接SQL字符串的方式来访问数据库,那我们又该如何使用LINQ to SQL呢?幸亏LINQ to SQL的DataContext提供了GetCommand方法。...这种情况会在实体对象的属性名与数据表字段名不同的时候发生。使用LINQ to SQL时默认生成的实体对象,其属性名与数据库的字段名完全对应,这自然是最理想的情况。...因此,如果您使用了ColumnAttribute的Name属性改变了数据库字段名与实体对象属性名的映射关系,那么创建匿名对象的时候还是要使用数据库的字段名,不是实体对象名,如下: public static...LINQ to SQL时,我建议保持实体对象属性名与数据库字段名之间的映射关系。...LINQ to SQL,默认会使用延迟加载,然后必要的时候才会再去数据库进行查询。

4.8K50

mongodb学习(翻译1)

获取数据库对象引用 通过server object对象获取数据库对象引用 1 var database = server.GetDatabase("test"); // testadb名称 如果你使用的不值一个数据库...,你可以通过GetDatabase获取任何一个数据库对象的引用 BsonDocument 对象模式vs自定义实体模式 有两种让你可以创建document方式: 使用 BsonDocument 对象 使用自定义的实体对象...由于使用自定义类比较方便,这个教程中将要使用这种方式,C#驱动程序可以让使用你提供了一下内容的自定义类 1.具有无参的构造函数 2.定义了可读写的属性 这些要求和.NET’s XmlSerializer...(query); Query.EQ 使用Query泛型类创建query对象,lambda表达式e => e.Id 指向到我们集合定义的字段 说明: 一般说来,数据库字段是和自定义实体字段完全一样的...,但是id是一个例外,他会映射到数据库_id字段 其他查询操作 包括: GT, 大于 GTE,大于等于 In, LT, LTE, Near, NE, And, Or还有一些其他的 保存文档对象 你可以像这样保存一个文档

98310

ADO.NET入门教程(七) 谈谈Command对象高级应用

这个实例采用了《你必须知道的ADO.NET(六) 谈谈Comand对象与数据检索》数据库数据表。在这个实例,我们将在tb_SelCustomer插入500行数据,并计算执行时间。...请使用参数化查询       ADO.NET,查询语句是以字符串的形式传递给外部数据库服务器的。这些字符串不仅包含了基本命令关键字,操作符,还包含了限制查询的数值。...以SQL Server例,SqlCommand对象包含一个Paramters集合,Paramters集合包含了所有所需的SqlParamter对象。...当然实现的方法有很多种,比如利用C#的out修饰符修饰参数,我更倾向于用SQL Server数据库原生的OUTPUT关键字。OUTPUT关键字返回INSERT操作的一个字段(一般是主键ID)。...执行命令过程,面临的情况是十分复杂的。尽管如此,Command对象拥有优越的人力资源(属性和方法),来应对一切可能发生的事。可以说,Command对象的稳定发挥,ADO.NET打下了扎实的根基。

1.4K100

C#3.0新增功能09 LINQ 基础05 使用 LINQ 进行数据转换

通过排序和分组,你可以修改序列本身,而无需修改这些元素本身。 但也许 LINQ 查询最强大的功能是创建新类型。 这可以 select 子句中完成。...创建其元素由源序列每个元素的一个或多个属性组成的输出序列。 创建其元素由对源数据执行的操作结果组成的输出序列。 创建其他格式的输出序列。...将内存对象转换为 XML LINQ 查询可以轻松地在内存数据结构、SQL 数据库、ADO.NET 数据集和 XML 流或文档之间转换数据。...对源元素执行操作 输出序列可能不包含源序列的任何元素或元素属性。 输出可能是使用源元素作为输入参数计算得出的值序列。...例如,不能在 LINQ to SQL 调用普通的 C# 方法,因为 SQL Server 没有用于它的上下文。 但是,可以将存储过程映射到方法并调用这些方法。 有关详细信息,请参阅存储过程。

1.6K20

C#规范整理·集合和Linq

由于LINQ查询返回的集合匿名类型的属性都是只读的,如果需要为匿名类型属性赋值,或者增加属性,只能通过初始化设定项来进行。初始化设定项还能为属性使用表达式。...当我们觉得集合插入和删除数据很慢时,就可以考虑使用链表。...如果将属性设置可写,则会增加抛出异常的几率。一般情况下,如果集合属性没有值,则它返回的Count等于0,不是集合属性的值null。...LINQ to SQL引擎最终会将表达式树转化成为相应的SQL语句,然后在数据库执行。 那么,到底什么时候使用IQueryable<T>,什么时候使用IEnumerable<T>呢?...使用IQueryable<T>查询的时候,如果使用自定义的方法,则会抛出异常。 13.使用LINQ取代集合的比较器和迭代器# LINQ提供了类似于SQL的语法来实现遍历、筛选与投影集合的功能。

15830
领券