2012-01-31 16 views
2

私は依存関係、製品およびアクセスエンティティを持っています。依存関係は、製品とアクセスに関連しています。私がアクセスの対象セットを作成しようとすると:指定されたスキーマは無効です。エラー:タイプが利用できないためロードされない関係

this.context.CreateObjectSet<Access>(); 

それは働いている...しかし、私は、製品のオブジェクトセットを作成しようとすると、私はこのエラーを取得:指定されたスキーマが有効ではありません。エラー: 'Model.Defendency'タイプが使用できないため、 'Model.FK_Product_Dependency'という関係はロードされませんでした。

アイデア?

OBS:私がモデルに、データベースで働いている、とEF 4.0と

POCOエンティティ:

public class Dependency 
{ 
    public virtual int Id { get; set; } 
    public virtual int IdParent { get; set; } 
    public virtual string Name { get; set; } 
    public virtual decimal Type { get; set; } 
    public virtual Dependency Parent { get; set; } 
} 

public class Product 
{ 
    public virtual int Id { get; set; } 
    public virtual int IdDependency { get; set; } 
    public virtual decimal Type { get; set; } 
    public virtual string Name { get; set; } 
    public virtual string Obs { get; set; } 
    public virtual Dependency Dependency { get; set; } 
} 

public class Access 
{ 
    public virtual int Id { get; set; } 
    public virtual int IdProfile { get; set; } 
    public virtual string Name { get; set; } 
    public virtual Profile Profile { get; set; } 
    public virtual ICollection<Dependency> Dependencies { get; set; } 
} 

答えて

1

を解決しました。したがって、互いにアクセスする場合、POCOエンティティは異なる名前空間/ dllに存在することはできません。上記の例では、依存関係とアクセスはネームスペース/ dllにあり、Productは別のものにあります。私は、EFによってマッピングされたエンティティのようにPOCOエンティティが同じ(プロパティと名前)である必要があると考えましたが、エンティティが同じ名前空間/ dll(互いにアクセスするエンティティのみ)に存在する必要があります。

関連する問題