0

在一个项目中,我能够毫无问题地使用 ColumnAttribute。

在另一个,不是。我在测试项目中有以下课程:

class TestClass_x
{
  [Key, Column(Order = 0)]
  public int i { get; set; }

  [Key, Column(Order = 1)]
  public string i2 { get; set; }

  public string str { get; set; }
}

导致

Ambigous reference:
 System.ComponentModel.DataAnnotations.Schema.ColumnAttribute
 System.ComponentModel.DataAnnotations.Schema.ColumnAttribute
match

我在测试项目中添加了以下引用:

  • 实体框架(v 4.4.0.0)
  • 要测试的项目
  • 另一个要测试的项目
  • 第三个要测试的项目
  • Microsoft.VisualStudio.Quality.Tools.UnitTestFramework (v 10.0.0.0)
  • PresentationFramework (v 4.0.0.0)
  • 系统 (v 4.0.0.0)
  • System.ComponentModel.DataAnnotations (v 4.0.0.0)
4

1 回答 1

2

您使用的是 .NET 4.5 吗?在这种情况下,您将ColumnAttribute同时拥有 System.ComponentModel.DataAnnotations.dll 和 EntityFramework.dll。解决方案应该是将 EntityFramework 升级到 5.0,因为 4.4 版仅适用于 .NET 4.0。

于 2012-11-23T10:18:17.910 回答