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; }
}
}
.NET 4.5Frameworkをターゲットにしていてよろしいですか。 ForeignKeyAttribute は.NET4.5でのみ使用できます
Entity Frameworkを再インストールしましたが、機能します。
コードとSystem.ComponentModel.DataAnnotations.Schema
名前空間は正しいです。
だからあなたの参照を確認してください。これはAssembly System.ComponentModel.DataAnnotations.dll, v4.0.0.0
にあるはずです
プロジェクトをFx4からアップグレードしましたか?
NuGetでバージョンを修正できます。
アセンブリは、プロジェクトの「参照」セクションにあります。フレームワークタブをクリックして、アセンブリを検索します。これは、Microsoft.Netフレームワークのデフォルトのアセンブリです。