- 2024-11-20EFCore如何更改跟踪状态
这里简单介绍下几种修改实体或者导航的跟踪状态。1.直接修改实体对已在DbContext中跟踪的实体,直接操作,如给字段赋值、给导航属性赋值或者添加删除等对未在DbContext中跟踪的实体,调用DbContext的Add、Update、Remove等方法,对已跟踪的实体也有效需要注意所有添加的实体都需要调
- 2024-11-01.Net C# 基于EFCore的DBFirst和CodeFirst
DBFirst和CodeFirst1概念介绍1.1DBFirst(数据库优先)含义:这种模式是先创建数据库架构,包括表、视图、存储过程等数据库对象。然后通过实体框架(EntityFramework)等工具,根据已有的数据库结构来生成对应的实体类和数据访问代码。应用场景:当已经存在一个成熟的数据库,例如从旧
- 2024-10-07EFCore 分表
PrograminternalclassProgram{staticasyncTaskMain(string[]args){DbContextOptionsBuilder<BloggingContext>optionsBuilder=newDbContextOptionsBuilder<BloggingContext>();optionsBuilder.UseSqlServer("DataS
- 2024-08-18使用EFCore连接达梦数据库
为了快速验证EFCore连接达梦数据库,执行简单的查询语句,以下通过控制台程序来测试。这里的Demo项目,是比较早之前新建的,框架版本是.net6.0。1、项目添加EFCore和DM数据库的nuget包,添加成功之后查看项目文件的包引用(这里用到的是和6.0匹配的版本,其他版本相应升级依赖包即可)<Packa
- 2024-08-17在EFCore中多对多关系的设计数据插入与查询
学生类StudentpublicclassStudent{publicintId{get;set;}publicstringName{get;set;}publicintAge{get;set;}publicList<Teacher>Teachers{get;set;}=newList<Teacher>();}老师类TeacherpublicclassTeacher{
- 2024-08-17EFCore中自引用的实体类设计
案例:以部门(为主)-----部门下面又分1部、2部、3部等,1部下面又分为1组,2组,3组等这种结构像这样的设计类型应该用自引用来设计下面用用代码来实现://////Departmentclass///publicclassDepartment{//////部门Id///publicintId{get;set;}//////部门名称Nam
- 2024-08-04EFCore执行自定义SQL时格式化错误:Input string was not in a correct format.
记录一下EFCore执行自定义SQL报System.FormatException异常的问题,这个异常可能是“Inputstringwasnotinacorrectformat.”,也可能是其它格式化异常,比如:System.ArgumentException:“Formatoftheinitializationstringdoesnotconformtospecificationstartingat
- 2024-07-31充血模型的EFCore实现
充血模型的五个需求属性是只读的或者只能被类内部的代码修改。publicPhoneNumberPhoneNumber{get;privateset;}publicvoidChangePassword(stringpassword){if(password.Length<=3){thrownewArgumentOutOfRangeException("密码长度需
- 2024-07-17EFCore -CodeFirst模式 数据库使用SqLite
首先安装nuget包:System.Data.SQLite和SQLite.CodeFirst,如下二图:然后在App.config中配置数据库连接字符串:<connectionStrings><addname="StuDB"connectionString="datasource=BoilerCalculator.db"providerName="System.Data.SQLite.EF6"/&
- 2024-07-08.NetCore中EFCore for MySql整理MySql.EntityFrameworkCore
一、MySql.EntityFrameworkCore 这个是官方给的一个EF操作MySql数据库的框架。使用方法跟EFforSqlServer一样。 二、安装命令NuGet\Install-PackageMySql.EntityFrameworkCore-Version8.0.5 项目依赖 安装后的结果: 三、EFCodeFirst模式连
- 2024-07-08WTM的项目中EFCore如何适配人大金仓数据库
一、WTM是什么WalkingTec.Mvvm框架(简称WTM)最早开发与2013年,基于Asp.netMVC3和最早的EntityFramework,当初主要是为了解决公司内部开发效率低,代码风格不统一的问题。2017年9月,将代码移植到了.NetCore上,并进行了深度优化和重构,推出了基于Asp.netCore和EFCore的全新框架,新框
- 2024-07-07EFCore 设置外键
随便搞两个实体类举例: 标红处所展示会生成外键关系publicclassBook{///<summary>///id///</summary>publicintId{get;set;}///<summary>///书本名称///</summary>publicstringName{get;set;}///<summ
- 2024-07-04使用 EFCore简单入门(实体类生成数据库表)
1.安装Nuget包Microsoft.EntityFrameworkCore.SqlServerMicrosoft.EntityFrameworkCore.Tools2.创建Book,Post两个实体类publicclassBook{///<summary>///id///</summary>publicintId{get;set;}///<summary>///
- 2024-06-18Net6 EFCore 基于MSSQL & T4 自动生成字段注释
文件模板代码<#@templatelanguage="C#"#><#@outputextension=".cs"#><#@assemblyname="System.Core"#><#@importnamespace="System.IO"#><#@importnamespace="System.Linq"#>
- 2024-06-17跟着杨中科学习(七)EFCore(五)
EFCore的异步异步方法大部分是定义在Microsoft.EntityFrameworkCore这个命名空间下EntityFrameworkQueryableExtensions等类中的扩展方法,记得using。如何异步遍历IQueryable使用ToListAsync()、ToArrayAsync()。但是注意结果集不要太大。foreach(varainawaitctx.Arti
- 2024-06-13跟着杨中科学习(六)EFCore(四)
自引用的组织结构树classOrgUnit{publiclongId{get;set;}publiclong?ParentId{get;set;}publicstringName{get;set;}publicOrgUnit?Parent{get;set;}publicList<OrgUnit>Children{get;set;}=newList<OrgUnit&g
- 2024-06-11跟着杨中科学习(五)EFCore(三)
通过代码查看EFCore自动生成的数据1.标准日志//依赖注入的使用方式publicstaticreadonlyILoggerFactoryMyLoggerFactory=LoggerFactory.Create(builder=>{builder.AddConsole();});optionsBuilder.UseLoggerFactory(MyLoggerFactory);//普通方式classMyDbCo
- 2024-06-07跟着杨中科学习(四)EFCore(二)
主键自增主键自动增长。优点:简单;缺点:数据库迁移以及分布式系统中比较麻烦;并发性能差。long、int等类型主键,默认是自增。因为是数据库生成的值,所以SaveChanges后会自动把主键的值更新到Id属性。试验一下。场景:插入帖子后,自动重定向帖子地址。自增字段的代码中不能
- 2024-06-06EFCore和EF6的使用和区别
1、Sqlserver是微软的亲儿子,很少会报错,EF报错问题最多出现在Mysql。以下使用mysql为例子C#一般很形象,带Core的都是.NetCore平台的。所以在.NetFramework平台我们使用EF6,也就是EntityFramework6在.NetCore平台使用EFCore2、直接上代码(.Net6)internalclassProgram{
- 2024-06-05从零开始的.NET项目(一)配置EFCore
目标框架:.net6.0操作系统:macos编译器:Rider内容:配置EFCore,使用CodeFrist创建mssql数据库,并存入种子数据数据库准备如果使用的是vs编译器的话,其实就不用准备数据库了,直接用vs自带的数据库,嘎嘎好使
- 2024-05-07EFCore 一对一 实体关系
一对一实体关系当一个实体与最多一个其他实体关联时,将使用一对一关系。例如,Blog 有一个 BlogHeader,并且 BlogHeader 属于单个 Blog。必需的一对一//Principal(parent)publicclassBlog{publicintId{get;set;}publicBlogHeader?Header{get;se
- 2024-05-06EFCore 迁移异常解决方案
添加迁移时显示错误:Bothrelationshipsbetween'WorkCenter.Factory'and'Factory'andbetween'WorkCenter'and'Factory.WorkCenters'coulduse{'FactoryId'}astheforeignkey.Toresolvethis,configuretheforeig
- 2024-05-01efcore全局查询过滤器
我们删除实体时,平常不需要物理删除,而是软删除,软删除有什么好处呢?它能够在下次创建实体时快速恢复实体的信息,平时我们使用IsDeleted字段来代表软删除,以下是一个示例publicclassPost{publicintPostId{get;set;}publicstringTitle{get;set;}public
- 2024-04-28efcore 执行原生sql语句
EntityFrameworkCore(EFCore)执行原生SQL查询需要返回查询结果使用FromSqlRaw()方法:这是EFCore提供的一种执行原生SQL查询的方式。您可以将SQL查询直接嵌入到代码中,并将结果作为实体对象返回。以下是一个示例,演示如何执行原生SQL查询并将结果映射到实体对象:v
- 2024-04-25数据库设计 外键设计 关联表查询 linq efcore
数据库的设计实体之间的关系图实体EleOrderRowItem.cspublicclassEleOrderRowItem:EleEntity{publicstring?Xxx{get;set;}//外键:一个rowItem属于一个rowpubliclongRowId{get;set;}publicrequiredEleOrderRowRow{get;set;}}