これは私のクラスです:
[Table]
public class Question
{
[Column]
public bool Sort { get; set; }
[Column(IsPrimaryKey = true)]
public int QuestionID { get; set; }
[Column]
public int Level { get; set; }
[Column]
public string Description { get; set; }
[Column]
public string Answer1 { get; set; }
[Column]
public string Answer2 { get; set; }
[Column]
public string Answer3 { get; set; }
[Column]
public string Answer4 { get; set; }
[Column]
public string RightAnswer { get; set; }
[Column]
public bool Show { get; set; }
}
public class QuestionContext : DataContext
{
public QuestionContext(string connectionString)
: base(connectionString)
{
}
public Table<Question> Questions
{
get
{
return this.GetTable<Question>();
}
}
}
既存のデータベースに接続しようとしています:
private const string ConnectionString = @"appdata:App_Data\QuestionDb.sdf";
public GamePage()
{
InitializeComponent();
using (QuestionContext context = new QuestionContext(ConnectionString))
{
if (!context.DatabaseExists())
{
// create database if it does not exist
context.CreateDatabase();
}
else
{
var questions = from o in context.Questions where o.Level == 1 && o.Show == false select o;
var question = questions.FirstOrDefault();
}
}
}
「データベース ファイルへのアクセスは許可されていません」というエラーが表示されます。問題は接続文字列にあると思います。どうしたの?App_Data フォルダ内の SQLCE データベースにアクセスするにはどうすればよいですか?