原因是因为我在写实体类的时候没有为实体类中的属性声明一个主键,即用[key]特性标注在属性上,这样DbContext才能为我们在数据库上找到对应的主键 using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations; using System; namespace Feng.Entity { [Serializable] [Table("dict_sample"…
我发生这个问题的原因是因为我用EF访问数据库时用的用到了两用方式,如下图 第一种方式访问时不会出现此错误,出现错误的是第二种方式,下图是dal层代码 其中红框中的代码是出现错误之后改正的代码,也就是说,开始没有写红框里的代码,会出现上述错误,因为没有判断数据库连接状态,先判断连接状态是否关闭状态,如果关闭就打开. 本以为EF对T-sql的数据库访问时会有判断连接状态的机制,结果没有... 经反复测试以上错误已解决.…
一.   反向工程 反向工程是基于数据库架构,生成的实体类和DbContext类代码的过程,对于Visual Studio开发,建议使用PMC.对于其他开发环境,请选择.NET Core CLI工具(跨平台). (1) 在程序包管理器控制台(PMC)工具中使用命令Scaffold-DbContext 来进行反向工程. (2) 在.NET 命令行接口 (CLI) 工具中使用dotnet ef dbcontext scaffold命令来进行反向工程. 1.1 Scaffold-DbContext介绍…
一.管理数据库架构概述 EF Core 提供两种主要方法来保持 EF Core 模型和数据库架构同步.一是以 EF Core 模型为基准,二是以数据库为基准. (1)如果希望以 EF Core 模型为准,请使用迁移. 对 EF Core 模型进行更改时,此方法会以增量方式将相应架构更改应用到数据库,以使数据库保持与 EF Core 模型兼容.  (2)如果希望以数据库架构为准,请使用反向工程. 使用此方法,可通过将数据库架构反向工程到 EF Core 模型来生成相应的 DbContext 和实体…
今天在使用的EF时候,发生了"System.Data.Entity.Internal.AppConfig"的类型初始值设定项引发异常.这样的一个错误 查了原因,原来是appconfig中,connectionStrings的位置放错了.因为configSections必须是appconfig的第一个节点 这样是不对的. 应该是 感觉这种情况应该不仅仅只限于这个EF,只要configSections不是第一个标签就会有问题,也适用于其他情况~~…
原文地址:EF或LINQ 查询时使用IN并且根据列表自定义排序方法作者:李明川 EF和LINQ改变了原有的手写SQL时期的一些编码方法,并且增强了各数据库之间的移植性简化了开发时的代码量和难度,由于很多人不熟,经常会碰到一些写SQL语句时经常会用到的一些方法,而使用EF或LINQ确不知道如何使用,其实EF和LINQ帮我们想到的有很多,看大家如何利用好,下面讲几个项目开发中碰到过的问题吧 1.经常开发中会碰到查询一个包含在一个数组中的列表    例如:select * from User wher…
EF和LINQ改变了原有的手写SQL时期的一些编码方法,并且增强了各数据库之间的移植性简化了开发时的代码量和难度,由于很多人不熟,经常会碰到一些写SQL语句时经常会用到的一些方法,而使用EF或LINQ确不知道如何使用,其实EF和LINQ帮我们想到的有很多,看大家如何利用好,下面讲几个项目开发中碰到过的问题吧 1.经常开发中会碰到查询一个包含在一个数组中的列表    例如:select * from User where id in(1,2,3,4,5);    如果在EF中如何查询呢    in…
原文:[C#]使用EF访问Sqlite数据库 1. 先上Nuget下载对应的包 如图,搜索System.Data.SQLite下载安装即可,下载完之后带上依赖一共有这么几个: EntityFramework System.Data.SQLite System.Data.SQLite.Core System.Data.SQLite.EF6 System.Data.SQLite.Linq 安装完成后,会添加App.config文件(如果没有的话),里面添加了一些provider的配置. 2. 先看下…
1·JDBC访问数据库,其访问流程: (1)注册驱动 (2)建立连接(Connection) (3)创建数据库操作对象用于执行SQL语句 (4)执行语句 (5)处理执行结果 (6)释放资源 2·注册驱动MySQL的驱动程序 (1)将驱动程序文件添加到应用项目将驱动程序,复制到web应用程序的Web-INT\lib目录下, Web应用程序就可以通过JDBC接口访问MYSQL数据库了 (2)加载注册指定的数据库驱动程序,其格式:Class.forName("com.mysql.jdbc.Driver…
asp.net core通过ef core来访问数据库,这里用的是代码优先,通过迁移来同步数据库与模型. 环境:vs2017,win10,asp.net core 2.1 一.从建立asp.net core web项目开始 1.通过vs2017建立一个asp.net core web应用程序 2.在models文件夹下面创建一个student类,这个类用作数据模型,表示的是数据库里面的student表 public class Student { [DatabaseGenerated(Datab…