随笔分类 - C# / EF Core
摘要:查看:https://learn.microsoft.com/zh-cn/ef/ef6/modeling/code-first/workflows/existing-database 本文转载:https://www.cnblogs.com/dotnet261010/p/7119351.html E
阅读全文
摘要:简介 前期环境 Visual Studio 2022 .net framework 4.7.2 Sqlite3 Navicat 15 CodeFirst的三种方式 使用新数据库 使用现有数据库 迁移 一、使用新数据库的CodeFirst 查看:https://learn.microsoft.com/
阅读全文
摘要:一、前言Entity Framework(后面简称EF)作为微软家的ORM,自然而然从.NET Framework延续到了.NET Core。Migration二、程序包管理器控制台为了能够在控制台中使用命令行来操作EF,需要先安装Microsoft.EntityFrameworkCore.Tool
阅读全文
摘要:1、添加 App.Config 文件,并且配置数据库的相对位置 <?xml version="1.0" encoding="utf-8" ?> <configuration> <connectionStrings > <!--点号 表示相对目录 --> <add name="SqliteConnec
阅读全文
摘要:EFCoreFirst使用流程 1、引入工具包Microsoft.EntityFrameworkCore.SqlServer 核心程序包,封装了关键的核心代码,使用EF必须引用这个包Microsoft.EntityFrameworkCore.Design 设计包,用于在命令行工具下EF Core开发
阅读全文
摘要:Visual Studio中的EF Core Power Tools 扩展来可视化模型。
阅读全文
摘要:1 、背景与动机 传统面向对象编程的核心思想是一个对象有着唯一标识,表现为对象引用,封装着随时可变的属性状态,如果你改变了一个属性的状态,这个对象还是原来那个对象,就是对象引用没有因为状态的改变而改变,也就是说该对象可以有很多种状态。C#从最初开始也是一直这样设计和工作的。但是一些时候,你可能非常需
阅读全文
摘要:在 EF Core 6.0 中,你可以生成已编译的模型(compiled models)。当你有一个大的模型,而你的 EF Core 启动很慢时,这个功能是有意义的。你可以使用 CLI 或包管理器控制台来做。 public class ExampleContext : DbContext { pub
阅读全文
摘要:DataAnnotations验证 常用的 DataAnnotations Required :属性值必须非空或者不能只是空格,如果允许全空格可以[Required(AllowEmptyStrings = true)] DisplayName :显示名 – 定义表单字段的提示名称 StringLen
阅读全文
摘要:微软官方文档链接 跟踪行为决定了 Entity Framework Core 是否将有关实体实例的信息保留在其更改跟踪器中。 如果已跟踪某个实体,则该实体中检测到的任何更改都会在 SaveChanges() 期间永久保存到数据库。 EF Core 还将修复跟踪查询结果中的实体与更改跟踪器中的实体之间
阅读全文
摘要:EF Core 事务EF Core提供了SaveChange方法,可以把数据操作好之后再统一调用SaveChange方法,这样就实现了简单的事务功能如果需要多个SaveChange形成一个事务,就是说多个SaveChange要么全部成功,要么全部不执行,则需要使用DbContext.Database
阅读全文
摘要:提供对客户端应用程序配置文件的访问。 此类不能被继承。 1、引用ConfigurationManager 在Nuget引入 ConfigurationManager。 using System.Configuration; 2、添加App.config文件 3、添加配置 1)添加数据库连接配置 将项
阅读全文
摘要:原文:https://learn.microsoft.com/zh-cn/ef/core/what-is-new/ef-core-6.0/whatsnew 环境 vs2022+wpf+ef core6+sqlite3 问题 解决方案 解决这个问题一般有3种方式: (1)提前触发初始化,比如在Star
阅读全文
摘要:复杂类型定义 没有主键、外键、导航属性的实体就是复杂类型,因此映射实体和复杂类型方法是 一样的。 复杂类型应用 EF Core CodeFirst代码优先中的复杂类型 复杂类型在EF 4.1中很容易实现。想象客户实体类有一些像城市,邮政编码和街道的属性,我们发现把这些属性 组织成一个叫地址的复杂类型
阅读全文
摘要:概念 1、【mvvm】设计模式 View-ViewModel-Model:View是控件(例如自定义控件、窗体控件等),View是ViewModel类型表现形式(UI)。因此可以在wpf种写成<DataTemplate DataType="ViewModel"><View/><DataTemplat
阅读全文
摘要:DDD:Domain-Driven Design(领域驱动设计)是软件开发中的一个非常重要的设计方式, 用业务领域来做模块分割,以领域为核心思想设计框架,用设计好的领域来驱动系统实现。它被誉为面向对象开发的正确使用方式。它可以保证软件开发到后期不会变成“屎山”。软件项目复杂度随时间推移如图所示: 领
阅读全文
摘要:通过项目,我们了解到EF框架有三种数据持久化的方式,也就是标题中我所提到的三种。那么这些方式之间又有什么联系和区别呢? 篇幅原因,本篇博客不再分别介绍每种方法如何实现的了,大家用的时候可以去Sou~一下。 先分别介绍一下这三种方法的联系: 1.Database First是基于已存在的数据库,利用某
阅读全文
摘要:【问题】 PM> Scaffold-DbContext 'DataSource=D:\Data.db;' Microsoft.EntityFrameworkCore.Sqlite -OutputDir ModelssBuild started...Build failed. 【答案】如果项目中存在
阅读全文
摘要:EF Core三种有种设计模式,都有默认的协议,但是可以通过DataAnnotations修改默认协定 特性简介 1. DataAnnotations说明:EF提供以特性的方式添加到 domain classes上,其中包括两类: A:System.ComponentModel.DataAnnota
阅读全文
摘要:内容来源:https://www.entityframeworktutorial.net/code-first/TimeStamp-dataannotations-attribute-in-code-first.aspx 内容来源:组件模型之数据标注 目录 采用System.ComponentMod
阅读全文