クラスのオブジェクトを RavenDB に保存するときに mvc4 プロジェクトで RavenDB を使用していますが、正常に動作しますが、選択操作を実行するとエラーがスローされます。
オブジェクト参照がオブジェクト インスタンスに設定されていません
すべてのクエリで
RavenbaseController.cs
public class RavenBaseController : Controller
{
public IDocumentSession RavenSession { get; protected set; }
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
RavenSession = MvcApplication.Store.OpenSession("ravendbtesting");
}
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
if (filterContext.IsChildAction)
return;
using (RavenSession)
{
if (filterContext.Exception != null)
return;
if (RavenSession != null)
RavenSession.SaveChanges();
}
}
}
Activation.cs
public class Activation : RavenBaseController
{
public string tokenid { get; set; }
public bool validate(string tid)
{
var query = from u in RavenSession.Query<Register>() where u.TokenId == tid select u;
foreach (var v in query)
{
v.IsApproved = true;
}
RavenSession.SaveChanges();
return true;
}
}
試したクエリ:
var results = from u in RavenSession.Query<Register>()
where u.TokenId == tid
select u;
var query= RavenSession.Query<Register>()
.Where(x => x.TokenId == tid)
.ToList();
RavenDB を初めて使用するので、なぜ機能しないのか理解できません
アップデート
コントローラーから実行するとすべてのクエリが正常に機能しますが、クラス ファイルから実行すると、「オブジェクト参照がオブジェクトのインスタンスに設定されていません」というエラーが発生します。