Asp.net mvc 关注ASP.NET SPA(单页应用程序)

Asp.net mvc 关注ASP.NET SPA(单页应用程序),asp.net-mvc,entity-framework,upshot,single-page-application,asp.net-spa,Asp.net Mvc,Entity Framework,Upshot,Single Page Application,Asp.net Spa,以下是我对ASP.NET SPA的了解: 必须使用Upshot与服务器对话 必须使用DbDataController来提供Web API 必须先使用实体框架代码 因此,有许多担忧出现: 必须为结果提供元数据才能工作,这显然会暴露数据库的结构 我可以先使用实体框架数据库而不是先使用代码吗?你可能会问为什么。因为CodeFirst不提供自定义数据库的功能(索引自定义、存储过程等) 我遇到了一个问题:当我将一个“TestUpshot.edmx”文件(从数据库“northwind”生成)添加到MySpa

以下是我对ASP.NET SPA的了解:

  • 必须使用Upshot与服务器对话
  • 必须使用DbDataController来提供Web API
  • 必须先使用实体框架代码
  • 因此,有许多担忧出现:

  • 必须为结果提供元数据才能工作,这显然会暴露数据库的结构
  • 我可以先使用实体框架数据库而不是先使用代码吗?你可能会问为什么。因为CodeFirst不提供自定义数据库的功能(索引自定义、存储过程等)
  • 我遇到了一个问题:当我将一个“TestUpshot.edmx”文件(从数据库“northwind”生成)添加到MySpaApp.Models文件夹(尝试测试我是否可以在MyDbDataController类中使用edmx类,并在客户端生成适当的元数据)并运行应用程序时,出现了一个异常:“System.ArgumentException:找不到MySpaApp.Models.Categories的概念模型类型。”
  • 这里需要帮助,提前谢谢


    Dean

    我可能遗漏了一些东西,但没有要求使用您列出的任何技术

    SPA只是一种模式。你可以使用任何你需要的东西来实现它。选择某些技术可能会有好处,比如模板、教程等


    SPA实际上是一种概念化客户端应用程序的方法。SPA与当前web方法中的胖客户端-数据服务器概念最为接近。这肯定会在几年内成为主流概念


    您的问题可以通过使用提供针对任何类型EntityFramework后端(数据库、模型或代码优先)的JavaScript高级高级数据访问来解决。查看从SQL导入EDMX的整个过程(也可以是模型优先定义)要从JavaScript在Products表中插入新的产品项,我正在尝试使用ASP.NET MVC4构建一个SPA项目,有两个示例SPA项目:“Steven Sanderson的Delivery Tracker”和“BigShelf”“。到目前为止,构建SPA的最佳/最简单方法是使用以下技术:knockout.js、upshot.js、DbDataController、EF Code First…等等,就像这两个示例SPA项目一样…Simon完全正确。绝对不需要使用您提到的任何技术。你甚至不必使用击倒。如果您愿意,您甚至可以使用简单的旧JavaScript(但我不推荐)和任何服务器端技术(包括ASP.NET、PHP、Ruby on Rails等)编写一个单页应用程序。Knockout、Upshot和EF(代码优先方法)正是Microsoft所推荐的。然而,即使是微软也没有全力支持淘汰赛或最终结果——否则会有更多的文档可用。@AnthonyGatlin:谢谢你的评论。我知道水疗只是一种模式,而且很好。我认为令人伤心的是,一旦你决定使用ASP.NET(在我的情况下是ASP.NETMVC)作为服务器端技术,你就没有太多关于辅助技术的选择。这是我的“技术包”:1.msSQLServer2008;2.EF代码首先作为ORM模块;3.ASP.NET MVC4;4.提供服务器和客户端之间数据访问的Web API(使用DbDataController和upshot,非常方便);5.knockout.js提供MVVM UI绑定。还有其他建议吗?我用CoolStorage与db对话。我不熟悉结果,但淘汰赛是王牌。现在我们有太多的选择了,随你的便吧。我相信如果你必须弄清楚如何在一个框架中使用你选择的技术,你会更好地理解。@SimonHalsey:,看看这个,它可能会给你带来一些关于结果的想法。好吧,这是新的东西,我会试试,谢谢你的回答。Dean,您可能想提供更多关于您的特定需求以及您试图实现的目标的信息。这可能会帮助人们提供更好的指导,让他们知道哪些工具最适合你。迪恩,顺便说一句,你的一些假设可能不太准确。在使用代码优先的方法时,仍然可以调整SQL。有一个问题与您的索引假设有关。@AnthonyGatlin:是的,当我发现代码最初无法自定义索引/存储过程时,我几乎尝试使用“ExecuteSqlCommand”方法来构建整个数据库,但出现了更多的问题:1.数据库部分很难维护;2.无ORM模块;3.DbDataController无法再工作。这就是我的情况:微软为我提供了一个使用“EF代码优先”+“ASP.NET MVC4”+“使用DbDataController的Web API”和“Outshot”+“Knockout”等构建SPA的解决方案,它还不是一个成熟的解决方案,但现在,我没有更好的选择。再次感谢。迪恩,Stack Overflow说我想问的问题是“主观的”,所以我把它们贴在了淘汰赛谷歌论坛上。也许这些会有帮助。