データベースに 3 つのテーブルがあります。すべてのテーブルは異なるエンティティ クラスで動作します。コードは次のとおりです。
public class Quizs
{
[Key]
public int QuizId { get; set; }
public string Title { get; set; }
public string Instructions { get; set; }
public string IsTimerEnabled { get; set; }
public virtual ICollection<Question> Questions { get; set; }
}
public class Question
{
[Key]
public int QuestionId { get; set; }
public virtual ICollection<Answers> Answers { get; set; }
public int RightAnswer { get; set; } // Key of Answers[]
public int QuestionType { get; set; } // 1 = One choise, 2 = Multiple Choise
public string Explantion { get; set; } // To appear after answering the question
public int MaxTime { get; set; } // In seconds
}
public class Answers
{
[Key]
public int asId { get; set; }
public int Id { get; set; }
public string Text { get; set; }
}
したがって、この 3 つのテーブルのすべてのデータを WebApi ページに出力する必要があります。
コントローラーでデータを引き出すコードは次のとおりです。
// GET api/QuizsData/
public IEnumerable<Quizs> Get()
{
return dba.Quiz.Include("Questions").Include("Questions.Answers").ToList();
}
これは、API のルートに移動したときに得られるものです。
{"メッセージ":"エラーが発生しました。","ExceptionMessage":"列名 'Question_QuestionId' が無効です。\r\n列名 'Question_QuestionId' が無効です。","ExceptionType":"System.Data.SqlClient.SqlException" 、"StackTrace":" System.Data.SqlClient.SqlConnection.OnError(SqlException 例外、Boolean breakConnection、アクション
1 wrapCloseInAction)\r\n at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction) で\r\n
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj、Boolean callerHasConnectionLock、Boolean asyncClose で)\r\n
System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior、SqlCommand cmdHandler、SqlDataReader dataStream、BulkCopySimpleResultSet bulkCopyHandler、TdsParserStateObject stateObj、Boolean& dataReady)\r\n で System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()\r\n でSystem.Data.SqlClient.SqlDataReader.get_MetaData()\r\n at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)\r\n at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds( CommandBehavior cmdBehavior、RunBehavior runBehavior、Boolean returnStream、Boolean async、Int32 timeout、Task& task、Boolean asyncWrite)\r\n at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior、RunBehavior runBehavior、Boolean returnStream、String メソッド、TaskCompletionSource`1 完了、Int32 タイムアウト、Task& task、Boolean asyncWrite)\r\n System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior、RunBehavior runBehavior、Boolean returnStream、String メソッド)\r\n System.Data. SqlClient.SqlCommand.ExecuteReader(CommandBehavior 動作、文字列メソッド)\r\n で System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior 動作)\r\n で System.Data.Common.DbCommand.ExecuteReader(CommandBehavior 動作)\r \n System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior) で"}RunBehavior runBehavior、Boolean returnStream、String メソッド)\r\n System.Data.SqlClient.SqlCommand.ExecuteReader (CommandBehavior 動作、String メソッド)\r\n System.Data.SqlClient.SqlCommand.ExecuteDbDataReader (CommandBehavior 動作)\r \n System.Data.Common.DbCommand.ExecuteReader (CommandBehavior 動作) で\r\n System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands (EntityCommand entityCommand、CommandBehavior 動作) で"}RunBehavior runBehavior、Boolean returnStream、String メソッド)\r\n System.Data.SqlClient.SqlCommand.ExecuteReader (CommandBehavior 動作、String メソッド)\r\n System.Data.SqlClient.SqlCommand.ExecuteDbDataReader (CommandBehavior 動作)\r \n System.Data.Common.DbCommand.ExecuteReader (CommandBehavior 動作) で\r\n System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands (EntityCommand entityCommand、CommandBehavior 動作) で"}ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior 動作)"}ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior 動作)"}
私はこの例外メッセージを受け取りました..助けはありますか?
ありがとう!