asp.net core的ef的连接字符串

asp.net core MVC,运行起来以后到ef的Model.Context.cs文件创建ef实例Entities时报错,发现没有在config加连接字符串,然而core没有app.config,只有appsettings.json文件,添加一个ConnectionStrings即可,如下

{
  "ConnectionStrings": {
    "Default": "Data Source = 127.0.0.1;Initial Catalog = DbName; User ID = id;Password =pass;"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*"
}

 

加了以后还是报错,报错信息如下:

 

 发现没有添加entityframework引用,在依赖性-管理nuget程序包添加了引用后,新建ef实体正常,然后在entity.Table.Add(table)时报错了,错误信息如下:

 

 

按文末链接的添加配置文件类1的方法(增加一个配置文件类)没有用,然后 从文末链接调到微软官方文档,然而看不懂,按官方文档的

services.AddDbContext<MvcMovieContext>(options => options.UseSqlServer(Configuration.GetConnectionString("MvcMovieContext")));

然后AddDbContext报错(cs1061:'"IServiceCollection"未包含"AddDbContext"的定义'),添加了entityframeworkcore引用,添加完efcore引用后,UseSqlServer又报错("DbContextOptionsBuilder"未包含"UseSqlServer"的定义),又加了entityframeworkcore.sqlserver引用和页面using Microsoft.EntityFrameworkCore;,然而AddDbContext<Entities>又开始报错了(CS0311 类型“TestModel.Entities”不能用作泛型类型或方法“EntityFrameworkServiceCollectionExtensions.AddDbContext<TContext>(IServiceCollection, Action<DbContextOptionsBuilder>, ServiceLifetime, ServiceLifetime)”中的类型参数“TContext”。没有从“TestModel.Entities”到“Microsoft.EntityFrameworkCore.DbContext”的隐式引用转换)

-_-|||(不知道是不是因为ef的model项目用的entityframework,也在项目引用了entityframework的缘故)

新建了一个ef core的项目,在程序中引用后保存可以成功了,ef core写法和ef不太一样,context.Add(table)直接add就添加了。

 

总结:asp.net core中引用ef项目失败,改成引用ef core项目成功

参考:连接字符串:https://www.cnblogs.com/MrHSR/p/10364918.html

  添加配置文件类1:https://www.cnblogs.com/Linky008/p/11116981.html

  虽然没用过,但连接数据库离线文件长见识了:https://www.cnblogs.com/chonghanyu/p/5709780.html

 

posted @ 2020-11-19 14:06  户的博客  阅读(1694)  评论(0编辑  收藏  举报