SqlMapper.cs:用于小项目的通用的C#数据库访问类。 AutoMapper:流行的对象映射框架,可减少大量硬编码,很小巧灵活,性能表现也可接受。...FluentData:开源的基于Fluent API的链式查询ORM轻量级框架。 Dapper:轻量级高性能基于EMIT生成的ORM框架。...反射和动态语言 Clay dynamic:开源的动态语言dynamic框架让您形如javascript的方式创建对象。...VMDotNet:中国移动飞信所使用过的.NET运行时。 Unity3D:微软大力支持的机遇C#和JavaScript的跨平台游戏开发框架。...分词、全文检索和搜索引擎 Lucene.net:流行高性能的全文索引库,可用于为各类信息提供强大的搜索功能。
谈谈你对EF的理解 这个可以谈很多,比如说EF实现机制,最核心的是对象关系映射机制和LINQ To EF Provider,在此基础上的缓存机制、延迟加载、对象状态跟踪、事务等等,从对开发者的影响上来说...,EF是微软官方的ORM框架,结束了之前各种第三方ORM混战的局面,统一了API,这无疑是开发者的福音。...EF拥有非常优雅的,基于C#/VB语言优化的API,比如原生的LINQ查询,自然的Code First的对数据结构的定义,Fluent API方式的数据库和关系的定义等等。...什么叫做类 就C#而言,类是对象的模板,对象是类的实例。C#是强类型语言,一切皆需要类型,除了内置的简单类型,那些其实例为引用对象的都叫做类。...13. c#中值类型和引用类型的区别 1.值类型的数据存储在内存的栈中;引用类型的数据存储在内存的堆中,而内存单元中只存放堆中对象的地址。
添加实体和映射数据库 使用EF CORE中添加实体,约束属性和关系,最后将其映射到数据库中的方式有两种,一种是Data Annotations,另一种是Fluent Api,这两种方式并没有优劣之分,全凭开发者喜好和需求...Fluent Api Fluent Api俗名流式接口,其实就是C#中的扩展接口形式而已,大家日常应该接触过很多了。...EF CORE在Data Annotations和Fluent Api形式上为开发者分别提供了三种方法。...[Posts]([BlogId] ASC); 至于为一个或多个属性手动建立索引,可以使用形如以下代码。 1....唯一索引 索引及其唯一性只由Fluent Api方式指定,由索引来指定唯一列是比备用键更好的选择。
ORM是一种让你可以使用面向对象的范式对数据库进行查询和操作。...开发UWP应用的时候也可以使用EF Core(用SQLite Provider)。 EF Core支持两种模式: Code First:简单理解为 先写C#(Model),然后生成数据库。...创建 Entity Entity就是普通的C#类,就像Dto一样。...我只在早期使用Data Annotation,后来一直使用Fluent Api,所以我这里只介绍Fluent Api吧。...fluent api有很多方法,具体请查看文档:https://docs.microsoft.com/en-us/ef/core/modeling/ 然后,我们就会发现一个严重的问题。
使用EF Core的第一步是创建数据模型,模型建的好,下班走的早。EF Core本身已经设置了一系列约定来帮我们快速的创建模型,例如表名、主键字段等,毕竟约定大于配置嘛。...如果你想改变默认值,很简单,EF Core提供了Fluent API或Data Annotations两种方式允许我们定制数据模型。...(b => EF.Property(b, "LastUpdated")); 索引 索引是用来提高查询效率的,在EF Core中,索引的定义仅支持FluentAPI方式。...使用乐观的并发控制可提高数据库性能。 按照约定,EF Core不会设置任何并发控制的令牌字段,但是我们可以通过Fluent API或数据标注进行配置。...实体构造函数 EF Core支持实体具有有参的构造函数,默认情况下,EF Core使用无参构造函数来实例化实体对象,如果发现实体类型具有有参的构造函数,则优先使用有参的构造函数。
上下文池可以通过重复使用上下文实例,而不是为每个请求创建新实例,从而提高大规模方案(如 web 服务器)的吞吐量。...避免在维护状态的应用程序中使用上下文池。 例如,不应在请求之间共享的上下文中的私有字段。 在将上下文实例添加到池中之前,EF Core 仅重置它知道的状态。...,修改时间默认值 Entity /// /// 创建时间 /// [DatabaseGenerated(DatabaseGeneratedOption.Identity...migrations add ChangeLastUpdateByToString dotnet ef database update 启动程序,新增一条数据,可以看到创建时间,修改时间默认值 029...(ModelBuilder modelBuilder) { modelBuilder.Entity() .HasIndex(b => b.Url); } 为多个列指定索引
上下文池可以通过重复使用上下文实例,而不是为每个请求创建新实例,从而提高大规模方案(如 web 服务器)的吞吐量。...避免在维护状态的应用程序中使用上下文池。例如,不应在请求之间共享的上下文中的私有字段。在将上下文实例添加到池中之前,EF Core 仅重置它知道的状态。...通过数据批注方式添加创建时间,修改时间默认值 Entity /// /// 创建时间 /// [DatabaseGenerated(DatabaseGeneratedOption.Identity...migrations add ChangeLastUpdateByToString dotnet ef database update 启动程序,新增一条数据,可以看到创建时间,修改时间默认值 ?...(ModelBuilder modelBuilder) { modelBuilder.Entity() .HasIndex(b => b.Url); } 为多个列指定索引
Migration数据库迁移 面向对象的ORM开发中,数据库不是程序员手动创建的,而是由Migration工具生成的。...EF Core会把Linq操作转换为SQL语句。面向对象,而不是面向数据库(SQL)。...乐观并发控制:并发令牌 Update T_Houses set Owner=新值 where Id=1 and Owner=旧值 当Update的时候,如果数据库中的Owner值已经被其他操作者更新为其他值了...1、把被并发修改的属性使用IsConcurrencyToken()设置为并发令牌。...对于ROWVERSION类型的列,在每次插入或更新行时,数据库会自动为这一行的ROWVERSION类型的列其生成新值。
功能特性 Serverless NoSQL 文档存储 类似于 MongoDB 的简单 API 100% C# 代码,支持 .NET 3.5 / .NET 4.0 / NETStandard 1.3 /...可使用特性或 fluent 映射 API 将你的 POCO 类映射为 BsonDocument 可存储文件与流数据 (类似 MongoDB 的 GridFS) 单数据文件存储 (类似 SQLite)...您可以使用非常相似的 SQL 关系语言插入、更新、删除或查询数据库 LINQ 表达式(lambda 函数)可用于在 C# 代码中创建流畅的 API 查询 新的 LiteDB.Studio 管理工具支持所有...// 获取 Customers 集合 var col = db.GetCollection("customers"); // 创建一个对象 var customer = new...Phones = new string[] { "8000-0000", "9000-0000" }, Age = 39, IsActive = true }; // 在 Name 字段上创建唯一索引
列 利用新的支持来改进性能,例如,在使用 Contains 时 在类中使用具有 DDD 值对象语义的 C# 结构,同时仍将内容拆分为数据库中的多个列 未映射类型的原始 SQL 查询 对 SQL Server...在本次演讲中,你将了解如何使用 .NET、C# 和 Azure 通过 OpenAI 和其他生成式 AI 技术创建令人惊叹的应用程序。...使用 Entity Framework Core 的开发人员将了解如何使用 Entity Framework Core 和 NetTopologySuite 存储空间数据、如何为空间数据编制索引以及如何运行空间查询...无论你是经验丰富的 Blazor 开发人员还是新手,都可以加入我们,了解如何使用 Fluent UI Blazor 库创建具有视觉吸引力且用户友好的应用程序。 Let none survive!...你有没有想过用C#做一个游戏?Godot 是一个易于使用的开源游戏引擎,可以轻松上手! 在本会话中,我们将向您展示如何启动一个新项目,以及如何轻松地将游戏对象连接到 C# 以生成游戏。
---- 在 C# 代码中创建 DataTemplate 大多数时候我们只需要在 XAML 中就可以实现我们想要的各种界面效果。这使得你可能已经不知道如何在 C# 代码中创建同样的内容。...比如在代码中创建 DataTemplate,主要会使用到 FrameworkElementFactory 类型。...WPF 的时候,如果我们要为一个对象添加属性或者行为,我们可能会使用字典来实现。...然而,WPF 的附加属性可以非常容易地为对象添加属性或者行为,而且也不用担心内存泄漏问题。...在 Windows 10 上为 WPF 窗口添加模糊特效 然而充分利用 Fluent Design 的高性能,需要上 XAML Islands,详见: [Using the UWP XAML hosting
简述 在程序设计中,我们会经常遇到一些复杂的对象,其中有很多成员属性,甚至嵌套着多个复杂的对象。这种情况下,创建这个复杂对象就会变得很繁琐。...针对这种对象成员较多,创建对象逻辑较为繁琐的场景,非常适合使用建造者模式来进行优化。 建造者模式的作用有如下几个: 1、封装复杂对象的创建过程,使对象使用者不感知复杂的创建逻辑。...2、可以一步步按照顺序对成员进行赋值,或者创建嵌套对象,并最终完成目标对象的创建。 3、对多个对象复用同样的对象创建逻辑。...下面,我们使用 Fluent API 模式进行实现: // demo/service/registry/model/service_profile_fluent_api.go type ( //...定义一系列构建属性的 Fluent 接口,通过方法的返回值控制属性的构建顺序,这是实现 Fluent API 的关键。
Blazor使用.NET框架和C#,允许开发者以C#编写单页应用和Web服务。文中还提供了项目源代码和在线文档链接。DotNetGuide技术社区为.NET开发者提供全面的学习资料和交流平台。...文章展示了如何创建一个时间插件并在Kernel中使用,从而让AI回答更准确。...文中还介绍了通过对象创建插件的方法,并为实战应用提供了依赖注入的示例。该内容对于使用Semantic Kernel进行插件开发和提升OpenAI模型能力具有指导意义。...本文解释了 HResult 的作用、使用什么规则来设置其值以及如何读取和研究它。...关于发布 COM(C#、Excel) - Qiita https://qiita.com/nnkanegon/items/1715b0da782e3dd713c9了解释放 COM 对象的问题以及如何调查因错过释放而导致的泄漏
对,就是文件的意思,file是只能用来定义类型的访问修饰符,不能定义类型中的类成员,即使嵌套类也不可以。file是用来定义使用范围最小的类型访问修饰符,只限于在当前文件中,其他类型的成员内访问。...使用 .NET 标记游戏地图关键坐标点 https://mp.weixin.qq.com/s/-aUlTsI2IzbMNrq94OHVgQ 本文以天涯明月刀 OL 游戏的云上之城探索玩法为例,介绍如何使用...https://mp.weixin.qq.com/s/wU5L1hWItRuV90tUAlUBow 最近在看 SQL SERVER 2008 查询性能优化,书中说当一个表创建了聚集索引,那么表中的行会按照主键索引的顺序物理排列...-improve-your-integration-tests-accuracy-with-testcontainers/ 描述了如何使用Testcontainers为你的单元和集成测试运行一次性的数据库.../ 解释了如何从作为处理程序传递给Minimal API端点的Delegate中提取元数据,以及如何创建RequestDelegate。
Virto Commerce 基于 .NET 4.5,使用了 MVC、IoC、EF、Azure、Angular JS 等其他先进技术。...官网 EasyNetQ:易于使用的 RabbitMQ .NET API。 官网 Warewolf ESB:易于使用的服务总线和微服务平台,可以在一个可视化 IDE 中便捷的创建应用和服务。...官网 Lucene.net:Lucene.Net 是 Lucene 搜索引擎库的移植,使用 C# 编写,面向 .NET 环境的用户。...官网 Fluent Assertions:一组 .NET 扩展方法,可以让你更自然地指定 TDD 或 BDD 风格测试的期望值。...官网 NBuilder:快速创建测试对象。 官网 NSubstitute:一个友好的 .NET mocking 框架。
为了解决此问题,我们创建了 .NET Standard,它指定了任何 .NET 运行时必须实现的 API,这样就能跨 .NET 平台和版本共享代码和二进制文件了。...我们一直在致力于开发适用于 EF Core 的 Cosmos DB 提供程序,以便开发人员能够熟悉 EF 编程模型,从而轻松地将 Azure Cosmos DB 定目标为应用程序数据库。...此提供程序将针对 Cosmos DB 中的 SQL API 启用大部分 EF Core 功能,如自动更改跟踪、LINQ 和值转换。...我们计划在 EF Core 3.0 中添加的其他功能包括,属性包实体(将数据存储在索引属性(而不是常规属性)中的实体);能够将数据库视图反向工程为查询类型;以及与新 C# 8.0 功能集成,如 IAsyncEnumerable...Switch 表达式可确保模式匹配更为简洁,不仅可以递归模式,还能将模式深入挖掘到测试值。如需了解 C# 8.0 的更多详情,请访问 aka.ms/csharp8。
C Sharp(一) 發佈於 2018-10-15 之前本来想学习一下 NodeJS,考虑到最近一直在使用 C#(主要使用 .Net Core 的 MVC 和 API),并且之前也仔细地研究过一段时间的...,其实就是学习如何创建和使用类型,所以我们需要了解什么是类型。...通过实例化类型创建的对象,可以称为对象,也可以称为实例 C# 中,每个数据项都是某种类型的实例 数据成员和函数成员 像 short,long 等这样的类型称为简单类型,只能存储一个数据项。...: 要创建的类型种类 新类型名称 对每个成员的声明(array 和 delegate 除外,他们没有命名成员) 一旦声明了类型,就可以像预定义类型一样使用了。...变量声明完成了两件事: 给变量命名,并关联了一种类型 让编译器为它分配了一块内存 我们还可以直接在声明时初始化变量。 一些类型的变量如果在声明时没有初始化,那么会被自动设置为默认值。
拥有的实体和表分割(以启用复杂类型和/或值对象模式)(#246) - 允许映射类型不具有自己的身份,但始终依赖于其他对象,并将它们映射到与其父对象相同的表。...IEntityTypeConfiguration(#2805) - 允许一个实体的Fluent API配置到一个类中。...下面是期望完成的其他功能: 每个模型#7166只有一个提供商) - 显着增加了供应商如何与模型进行交互,并简化了惯例,注释和流畅的API如何与不同的提供商合作。...Azure搜索集成 - 允许您在查询数据时使用Azure搜索中的搜索索引。在数据更新操作期间透明地同步索引数据。...原来考虑加入,但是至今没有加入计划的任务: 基于ODBC的提供程序(#7432) - 这将允许为具有ODBC提供程序的数据库(但可能没有特定于数据库的ADO.NET提供程序)创建一个EF Core提供程序
领取专属 10元无门槛券
手把手带您无忧上云