2012-05-05 6 views
0

タイトルはあまり明確ではありませんでしたが、私がやりたいことはこれです:データベースに関連するクラスを作成するにはどうすればよいですか?

私は.net framework 3.5とasp.net web appを使っています。

私はデシベルで2つのテーブルがあります。

tb_provider():demand_id(PK)
demanda_name
cod_provider(


PROVIDER_NAME

tb_demandをPROVIDER_ID fk)

その1対多の関係。

1人のプロバイダーに多くの要求がある可能性があります。
1人の要求は1つのプロバイダーのみに関連しています。

ので、私は論文のクラスを作成しました:

public class ProviderVO 
{ 
    public int Id_Provider{ get; set; } 
    public string Name_Provider { get; set; } 
    public List<DemandVO> List_Demand{ get; set; } 
} 

public class DemandVO 
{ 
    public int Id_Demand{ get; set; } 
    public string Name_Demand{ get; set; } 
    public ProviderVO objProvider{ get; set; } 
} 

私はそのプロバイダに関連するすべての要求を得ることができるので、私はプロバイダクラスの需要リストを置きます。

デマンドクラスも同様です。私の要求をプロバイダオブジェクトに関連させようとしています。

私は正しいと思いますか?

これは、プロバイダとlinq toエンティティクエリを使用したgridviewでの要求ができなかったためです。

私は何かが私のクラスで間違っていると思った。

thx!

+0

エンティティフレームワークを使用しているかどうかを確認しますか? –

+0

私はデータベースを接続するために別の層でそれを使用しています。その後、他のクラスを使用して挿入を行い、更新します。 –

答えて

3

実際にコード全体が間違っています。 .NET 3.5はEFv1のみをサポートし、EFv1はPOCOクラスをサポートしていません。あなたの問題を解決する最善の方法は、EDMXファイルを追加し、VSにEFv1で使用できるクラスを生成させることです。これらのクラスはEntityObjectから継承され、多くの追加プロパティを含みます。また、ナビゲーションプロパティには異なるタイプが使用されます。

代替ソリューションは、.NET 4とEFv4 +にアップグレードして、正しくマップされたときにコードが動作するようにします。

+0

このマッピングを行う最良の方法は、私のポココではなく生成されたクラスです。 –

+0

EFv1で最も良い方法ではなく、直接的な方法です。または、古い[POCOアダプタプロジェクト](http://archive.msdn.microsoft.com/EFPocoAdapter)でEFv1を確認することもできます。 –

関連する問題