可移植类库的实体框架

时间:2014-04-05 10:22:42

标签: c# entity-framework silverlight windows-phone-8 windows-8

我正在尝试为可移植类库创建Repository,Entity框架,当我尝试Nuget EntityFramework时

无法添加对'System.ComponentModel.DataAnnotations'的引用。请确保它在全局程序集缓存中。

为EF解决此问题的任何想法

便携式库的兼容EF包

3 个答案:

答案 0 :(得分:4)

您可以使用流畅的Api,不要在模型类中使用数据注释和属性。

示例:用于定义主键;而不是使用[Key]标记,请使用:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
    base.OnModelCreating(modelBuilder);
    modelBuilder.Entity<Record>().HasKey<int>(s => s.ID);
}

答案 1 :(得分:3)

在Visual Studio Update 2之前,您可以创建一个针对.Net 4或.Net 4.5和Windows 8的PCL项目,这将允许您安装EntityFramework nuget包。在此更新之后,如果没有自动定位Windows Phone 8.1,则无法定位Windows 8。

Windows Phone的这种自动定位似乎阻止将EF包添加到面向Windows 8的PCL。

答案 2 :(得分:3)

EF7有PCL,所以如果有人计划使用PCL可以使用早期版本的EF7或VS2014