web-dev-qa-db-ja.com

タイプ 'System.Data.Entity.Core.EntityException'の例外がEntityFramework.SqlServer.dllで発生しましたが、ユーザーコードでは処理されませんでした

私はASP.NETMVCを初めて使用します。この例外に直面しています。接続文字列は完全に見えますが、それでも例外が発生します。誰かが理由を教えてくれれば幸いです。

君たちありがとう

モデル1

namespace MVCTwice.Models
{
    public class StudentContext : DbContext
    {
        public DbSet<Student> studs { get; set; }
    }
}

モデル2

namespace MVCTwice.Models
{
    [Table("tblStudents")]
    public class Student
    {
        public int id { get; set; }
        public string name { get; set; }
        public string gender { get; set; }
        public string totalMarks { get; set; }
    }
}

アクションメソッド

public ActionResult Index()
        {
            StudentContext studentContext = new StudentContext();
            //Student emp = studentContext.studs.Select(emp=>emp.)
           List<Student> emp=studentContext.studs.ToList();

            return View(emp);
        }

表示

@model MVCTwice.Models.Student
@{
    Layout = null;
}
<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <div> 
        @Model.gender
        @Model.name
        @Model.id
        @Model.totalMarks

    </div>
</body>
</html>

例外

enter image description here

ConnectionString

 <connectionStrings >
    <add
         name="myConnectionString"
         connectionString="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=LoginInfo;Data Source=.\SQLEXPRESS"
         providerName="System.Data.SqlClient"/>
  </connectionStrings>
<connectionStrings>
  <add name ="StudentContext " 
        connectionString ="server=.; database=here your database name; integrated security=SSPI"
           providerName ="system.data.SqlClient"/>
</connectionStrings>

これがあなたのコードですが、データベース名を変更してから、それをweb.configファイルに追加してください。

2
user7778612

[iis]-> [アプリケーションプール]-> [アプリケーションで使用されているアプリケーションプールを検索]->クリックして、[アクション]パネルの[詳細設定]をクリックします。 'Identity'プロパティを見つけて、localsystemに変更します。

プロジェクトが正常に実行された場合は実行してください。そうでない場合は、以下のリンクに解決策があります。

上記の手順を修正した後、「SQL Serverログインエラー:ユーザー 'NT AUTHORITY\SYSTEM'のログインに失敗しました」という別のエラーが発生する場合があります。

したがって、これについては、以下のリンクをたどってください。 SQL Serverログインエラー:ユーザー 'NT AUTHORITY\SYSTEM'のログインに失敗しました

https://dba.stackexchange.com/questions/47172/can-not-find-nt-authority-network-service-on-sql-server-2012

0
Arshad

この例外の答えは次のとおりです--->接続文字列の名前を変更します。名前はコンテキストクラスと同じである必要があります。

0
Satish