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