我正在开发一个小型的网络应用程序,我刚刚开发了我需要开始制定数据库决策的地方.我最初的计划是在Azure上使用MSSQL获取EF Code First,因为它只是简化了使用数据库的过程.但是,在调查Azure上的数据库托管功能时,我发现了Azure Table Storage,它为我打开了NoSQL世界.
虽然互联网上充斥着关于NoSQL功能的喋喋不休,但我设法收集的最大原因之一是NoSQL将整个对象存储在数据库中,而不会将数据分解到各种表中,这对性能有利.虽然这听起来很吸引人,但EF Code First通过自动将对象组合在一起并将对象分离到SQL数据库中而无需开发人员每次都不必担心查询,从而有效地消除了这个问题.
然而,我的主要问题是我找不到任何文档来使用像EF Code First和ASP.NET Identity与NoSQL数据库这样的东西.由于我的应用程序目前使用Identity,我希望避免切换到其他内容.
问:是否可以在Azure表中使用Code First和/或Identity?
编辑:关于我的应用程序的一点点作为极端简化,我的应用程序允许我的用户通过混合和匹配预配置的数据类型来创建自定义配置文件.例如,用户可以将任意数量的Quote对象添加到其配置文件中,然后定义引用的值(即"做你自己;其他人已经被占用了.").或者他们可以使用Movie对象来定义他们喜欢的电影的集合(即"Title:Inception,Year:2010").平均而言,用户可以在其页面上轻松拥有50个或更多此类属性; 它们可以拥有的属性数量没有限制.
使用这个例子,我可以很容易地看到我将如何使用Code First实现它(Profile有一个Quote对象列表和一个Movie对象列表).我还不确定这将如何映射到NoSQL数据库,如Azure Tables.因此,根据我的应用程序的需求,我不确定是否从Code First切换到NoSQL是一个合理的决定,我将丢失的特性和功能.
entity-framework azure azure-table-storage ef-code-first asp.net-identity