我的数据库中有三个表。每个表都使用不同的实体类,代码:
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; }
}
所以现在我需要将这三个表中的所有数据输出到 WebApi 页面。
这是在控制器中提取数据的代码:
// GET api/QuizsData/
public IEnumerable<Quizs> Get()
{
return dba.Quiz.Include("Questions").Include("Questions.Answers").ToList();
}
这是我去api的路线时得到的:
{"Message":"发生错误。","ExceptionMessage":"无效的列名 'Question_QuestionId'。\r\n无效的列名 'Question_QuestionId'。","ExceptionType":"System.Data.SqlClient.SqlException" “StackTrace”:“在 System.Data.SqlClient.SqlConnection.OnError(SqlException 异常,布尔 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,布尔 callerHasConnectionLock,布尔 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 在 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)\r\n 在 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds( CommandBehavior cmdBehavior、RunBehavior runBehavior、Boolean returnStream、Boolean async、Int32 超时、Task& 任务、Boolean asyncWrite)\r\n 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior、RunBehavior runBehavior、Boolean returnStream、String 方法、TaskCompletionSource`1 完成,Int32 超时,Task& 任务,布尔 asyncWrite)\r\n 在 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,RunBehavior runBehavior,布尔 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 行为)"}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 行为)"}
我收到此异常消息.. 有什么帮助吗?
谢谢!