簡體   English   中英

ASP.Net核心Web應用程序(.Net Framework)發布EF Code First方法

[英]ASP.Net Core Web Application(.Net Framework) issues EF Code First approach

我用MVC模板創建了一個ASP.Net Web應用程序(.Net Framework)並安裝了EF 6最新穩定版本。 創建了一個模型和Context類。

public class IAMContext: DbContext
{
    public DbSet<Blog> Blogs { get; set; }
}
public class Blog
{
    public int BlogId { get; set; }
    public string Name { get; set; }
}

在返回視圖之前將以下代碼放在Controller Index方法中

using (var db = new BasicTemplates.Models.IAMContext())
        {
            db.Blogs.Add(new BasicTemplates.Models.Blog{ Name = "Another   `   Blog " });
            db.SaveChanges();
        }

最后是Web.config中的連接字符串

 <connectionStrings>
<add name="IAMContext"
connectionString="Data Source=***\SQL2016;Initial Catalog=IAM;Integrated Security=true;"
providerName="System.Data.SqlClient"/>

這很好用,在IAM DB中創建一個名為Blog的表。 當我嘗試在ASP.Net核心Web應用程序(.Net Framework)Web API項目中做同樣的事情時,它無法正常工作。 這里我在appsettings.json中提供了連接字符串。 其余的代碼是一樣的。

 "ConnectionStrings": {
    "IAMContext": "Server=192.168.0.3\\SQL2016;Database=IAM;Trusted_Connection=True;"
 }

執行后會拋出一個錯誤

建立與SQL Server的連接時發生與網絡相關或特定於實例的錯誤。 服務器未找到或無法訪問。 驗證實例名稱是否正確,以及SQL Server是否配置為允許遠程連接。 (提供程序:SQL網絡接口,錯誤:26 - 查找指定的服務器/實例時出錯)

謝謝

"ConnectionStrings": {
 "IAMContext":     "Server=192.168.0.3\\SQL2016;Database=IAM;Trusted_Connection=True;"

它看起來像權限問題。嘗試在連接字符串中給出用戶名和密碼

"ConnectionStrings": {
"IAMContext": "Server=192.168.0.3\\SQL2016;Database=IAM;
User=youruser; pass=yourpass; Trusted_Connection=False;"

BTW是192.168.0.3是你的本地機器嗎? 要檢查它是否是權限問題,請打開SSMS並嘗試連接到您的數據庫,提供您在connectionstring中使用的確切配置。

經過大量搜索后我才知道,ASP.Net Core項目不支持EF。 他們應該使用Entity Framework Core https://docs.microsoft.com/en-us/ef/core/index

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM