web-dev-qa-db-ja.com

System.ComponentModel.DataAnnotations.Schemaが見つかりません

System.ComponentModel.DataAnnotations.Schema名前空間に関連するVisualStudio2012の問題が発生しています。これは、ForeignKeyAttributeを解決できないことを示しています。これまでの解決策は、以下にコメントアウトされているusingステートメントを追加することでした。 VS2012は、VS2010が解決できたように、スキーマ名前空間を解決できません。最近の.Netリリースで、この問題の原因となる変更はありますか?もしそうなら、どうすればそれらを回避できますか?



using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel.DataAnnotations; // using System.ComponentModel.DataAnnotations.Schema; namespace Data { public class AffiliateUser { [Key, ForeignKey("User")] public int UserId { get; set; } [StringLength(50)] public string AffiliateUserKey { get; set; } public Guid ApiKey { get; set; } public string PasswordHash { get; set; } public bool IsDeleted { get; set; } } }
11
ThirtyApes

.NET 4.5Frameworkをターゲットにしていてよろしいですか。 ForeignKeyAttribute は.NET4.5でのみ使用できます

18

Entity Frameworkを再インストールしましたが、機能します。

5

コードとSystem.ComponentModel.DataAnnotations.Schema名前空間は正しいです。

だからあなたの参照を確認してください。これはAssembly System.ComponentModel.DataAnnotations.dll, v4.0.0.0にあるはずです

プロジェクトをFx4からアップグレードしましたか?

NuGetでバージョンを修正できます。

4
Henk Holterman

アセンブリは、プロジェクトの「参照」セクションにあります。フレームワークタブをクリックして、アセンブリを検索します。これは、Microsoft.Netフレームワークのデフォルトのアセンブリです。

0
Tyrone Moodley