- #1
SlurrerOfSpeech
- 141
- 11
Visual Studio is giving me the error
Error 1 'System.Data.Entity.DbSet<Survey.Models.Survey>.DbSet()' is inaccessible due to its protection level c:\users\jamin\documents\visual studio 2013\Projects\Survey\Survey\Models\SurveyDbModel.cs 83 40 Survey
on the line
of
Any idea why? Personally, I can't see how any access modifiers are getting in the way of me creating a DbSet<T> where T is a Survey.
Error 1 'System.Data.Entity.DbSet<Survey.Models.Survey>.DbSet()' is inaccessible due to its protection level c:\users\jamin\documents\visual studio 2013\Projects\Survey\Survey\Models\SurveyDbModel.cs 83 40 Survey
on the line
Code:
DbSet<Survey> AllSurveys = new DbSet<Survey>();
of
Code:
using System;
using System.Data.Entity;
using System.ComponentModel.DataAnnotations;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
namespace Survey.Models
{
public class Survey
{
public int Id { get; set; }
[StringLength(100)]
public string Title { get; set; }
}
public class Parnter
{
public int Id { get; set;}
[StringLength(50)]
public string Name { get; set; }
}
public class Question
{
public int Id { get; set; }
public int SurveyId { get; set; }
[StringLength(300)]
public string QText { get; set; }
}
public class Answer
{
public int Id { get; set; }
public int QuestionId { get; set; }
public int PartnetId { get; set; }
public decimal Val { get; set; }
}
public class SurveyDbModel
{
// name of connection string for database that
private static readonly string _ConnStrName = "LocalDb";
private SqlConnection _Conn;
public SurveyDbModel ( )
{
this._Conn = new SqlConnection(ConfigurationManager.ConnectionStrings[SurveyDbModel._ConnStrName].ConnectionString);
}
~SurveyDbModel ( )
{
this._Conn.Dispose();
}
public void AddSurvey ( string survtitle )
{
SqlCommand cmd = new SqlCommand("AddSurvey", this._Conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@title", survtitle);
this._Conn.Open();
cmd.ExecuteNonQuery();
this._Conn.Close();
}
public void DeleteSurvey ( int survid )
{
SqlCommand cmd = new SqlCommand("DeleteSurvey", this._Conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@id", survid);
this._Conn.Open();
cmd.ExecuteNonQuery();
this._Conn.Close();
}
public DbSet<Survey> GetAllSurveys ( )
{
SqlCommand cmd = new SqlCommand("GetAllSurveys", this._Conn);
cmd.CommandType = CommandType.StoredProcedure;
this._Conn.Open();
DbSet<Survey> AllSurveys = new DbSet<Survey>();
using ( SqlDataReader dataReader = cmd.ExecuteReader() )
{
while ( dataReader.Read() )
{
Survey srv = new Survey
{
Id = int.Parse(dataReader[0].ToString()),
Title = dataReader[1].ToString()
};
AllSurveys.Add(srv);
}
}
this._Conn.Close();
return AllSurveys;
}
public DbSet<Question> GetQuestionsBySurveyId ( int survid )
{
SqlCommand cmd = new SqlCommand("GetQuestionsBySurveyId", this._Conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@id", survid);
this._Conn.Open();
DbSet<Question> TheseQuestions = (DbSet<Question>)cmd.ExecuteScalar();
this._Conn.Close();
return TheseQuestions;
}
}
}
Any idea why? Personally, I can't see how any access modifiers are getting in the way of me creating a DbSet<T> where T is a Survey.