Visual studio 2012 未捕获错误:此查询没有可用的元数据

Visual studio 2012 未捕获错误:此查询没有可用的元数据,visual-studio-2012,breeze,single-page-application,hottowel,Visual Studio 2012,Breeze,Single Page Application,Hottowel,*我正在VS2012中使用HotTower SPA开发一个演示应用程序。使用breeze,我试图公开模型并使用它查询数据库。我使用此链接使用此应用程序的参考 这是我的一些代码 //我的班级 public class JobDemoClass { public int Id { get; set; } public string JobName { get; set; } public string JobDescription { get;

*我正在VS2012中使用HotTower SPA开发一个演示应用程序。使用breeze,我试图公开模型并使用它查询数据库。我使用此链接使用此应用程序的参考

这是我的一些代码

//我的班级

public class JobDemoClass
    {
        public int Id { get; set; }
        public string JobName { get; set; }
        public string JobDescription { get; set; }      
        public DateTime StartTime { get; set; }

    }
//我的数据库上下文

public class JobDemoDbContext : DbContext
    {
        public DbSet<JobDemoClass> JobDemo { get; set; }

        public JobDemoDbContext()
            : base("SPAConnection")
        {

            Database.SetInitializer<JobDemoDbContext>(null);
        }
    }
但是在这里我面临一个问题,在使用

manager.executequerylocal.from(“数据库”)

//数据库是控制器中定义的方法

//错误 未捕获错误:此查询没有可用的元数据

当我尝试导航到“jobadd”和“jobedit”视图时,会出现此错误


我尝试更改了一些代码,但仍然显示出相同的错误。当您在本地执行时,breeze需要知道它应该查询什么类型的实体。它通过将
.from
子句中指定的字符串与实体元数据相匹配来实现这一点。在元数据中,每个实体都有一个
defaultResourceName
属性,指示用于查询这些实体的服务器资源名称(Web API控制器上的方法名称)的预期名称

通常,
defaultResourceName
是实体名称的复数形式,因此您的
JobDemo
实体的defaultResourceName可能为
JobDemos
。试用

var query = breeze.EntityQuery.from('JobDemos');
var jobDemos = manager.executeQueryLocally(query);
或:


有关更多信息,请参阅。

谢谢Steve,这是一段映射到实体的代码,我已解决了上述问题,但仍然无法解决错误,因为对象不是此函数中的函数mapToEntity(Entity,dto){for(dto中的var prop){if(dto.hasOwnProperty(prop)){Entity[prop](dto[prop]);}}返回实体;}其中实体是一个可观察的对象,dto是json对象。为什么有这个mapToEntity函数?
var routes = [

                { route: '', moduleId: 'jobs', title: 'Scheduled Jobs', nav: 1 },               
                { route: 'jobadd', moduleId: 'jobadd', title: 'Add a job', nav: 2 },
                {route:'JobEdit/:id',moduleId: 'jobedit', name : 'Edit Job',  visible: false}];
var query = breeze.EntityQuery.from('JobDemos');
var jobDemos = manager.executeQueryLocally(query);
var query = breeze.EntityQuery.from('database').toType('JobDemo');
var jobDemos = manager.executeQueryLocally(query);