2013-04-27 11 views
5

私はEntity Framework 4.1を使用しており、データベースの最初のアプローチを使用してクラスを生成しています。私は自分のソリューションにEDMXファイルを持っています。Entity Frameworkデータベースに最初に生成されたクラスに属性を追加します。

MetadataTypeAttributeの手法を使用してクラスに属性を追加しようとしていますが、これはT4テンプレートを編集する以外の方法として推奨されていますが、このコンパイルを継続しているため動作しないようですエラー:

[MetadataTypeAttribute(typeof(PatientMetadata))] 
public partial class Patient 
{ 
} 

public class PatientMetadata 
{ 

    [Required] 
    public string LastName {get; set;} 

} 

'患者は' 'PatientManagementSystem.Patient' と 'PatientManagementSystem.Models.Patient' ここ

間のあいまいな参照があるが、私が使用していたコードです

このエラーは、データベースを最初に実行していてEDMXのすべてを実行しているため、実際にはクラスがないために発生しますか?

ありがとうございます! フリー

+1

edmxとそのクラスのネームスペースは何ですか?彼らは一致する必要があります。 –

+0

Adam、EDMXのネームスペースは空です(また、MVCプロジェクトの離れたクラスライブラリプロジェクトにあります)。クラスのネームスペースは 'PatientManagementSystems.Models' – Flea

+0

Adamです。私は名前空間を修正しなければなりませんでしたが、今は動作しているようです。あなたが言ったことをコピーして答えに入れたいなら、私はそれをあなたのためにマークします。ありがとう! – Flea

答えて

3

両方が同じ名前空間にあることを確認してください。これは部分クラスなので、変更しているクラスも同じ名前空間になければならないか、同じクラスではありません。