EntityFramework是否适用于Windows 8商店应用程序?

时间:2013-03-11 09:56:35

标签: c# visual-studio-2012 entity-framework-5 windows-store-apps .net-4.5

EntityFramework是否适用于Windows 8商店应用程序?

我正在使用Visual Studio 2012 Express for Windows 8。 我开始怀疑,因为我不能让它发挥作用。

我从NuGet安装了Entity Framework包 我将System.Data.Entity和System.Data.Design添加到项目

但无论我做什么,DbContext都无法识别......

有什么想法吗?

编辑:

EntityFramework不适用于Windows应用商店应用。我不明白微软在这方面的立场,他们很糟糕。

另一个解决方案是使用SQLite,但它不是ORM。那有什么意义呢?

4 个答案:

答案 0 :(得分:8)

据我所知,Windows 8商店应用程序的目标是WinRT(Windows运行时)。

出于这个原因,因为WinRT可以使用C#进行定位,并且.NET Framework中有很多类在WinRT中具有匹配,所以大多数不使用非常特定库的可用代码库也可以在Windows 8 Store Apps上运行。

WinRT中有很多东西不可用。例如,Entity Framework构建于ADO.NET之上,而WinRT上不提供此功能。

Visual Studio 足够智能隐藏WinRT上不可用的类和组件,这就是为什么无法在Windows 8 Store App项目中使用与Entity Framework相关的类。< / p>

为了使用Entity Framework,您需要创建RESTful Web API(例如使用ASP.NET Web API)并通过线路异步访问数据层。

否则,您将需要使用SQLite或XML等本地数据库存储。

答案 1 :(得分:2)

实体框架不适用于Windows 8商店应用。这是因为Windows商店应用程序在沙箱中运行,无法使用普通数据库。您可以使用SQLite或将XML / JSon作为源,您可以在应用程序首次启动时在应用程序的IsolatedStorage中部署它。

答案 2 :(得分:2)

不,它不可用。您可以使用SQLite,这HowTo对我非常有帮助。效果很棒!

答案 3 :(得分:1)

记录: 答案不是,转变是创建Web服务或使用云服务。 SqlLite适用于商店本地(单用户)信息,但仅此而已。

关于此问题,并非所有问题,但大多数与数据库的连接都是通过套接字连接完成的。因此可以连接到某个数据库并仍然将应用程序保存在沙箱中。 然而,MS的意图很明确:云或破灭。所以MS说它最好连接到一个低效(而且有风险)的Web服务(另一个套接字连接),而不是使用直接连接。

Windows Store应用程序简直就是劣等。

为了增加对伤害的侮辱,MS希望从我们的软件中减少一些收入。

我真的很想尝试WinRT(现在是UWP),但这是不可能的。在这3年中,事情并没有发生一些变化。