0

私は約 1 年間、EF 5 の Code First 実装のプロトタイプを実行してきましたが、経営陣がイエスと言い、プロトタイプをデータベース全体に適用する時が来ました。

Code First アイテムを初めてコーディングしたとき、EF Powertools を使用して Code First アイテムをリバース エンジニアリングしました。これにより、更新した Context と、各テーブルの多数の POCO クラスと、各エンティティの Map クラスが得られました。

これは Code First 実装を作成するための最良の方法ですか?

を介して Code First Model を生成することもできるとここで読みましたが、これを試すと、既存のデータベースからDbContext Generator新しいファイルを作成する必要があるようです。そこから DbContext Generator を使用できます。*.edmx

ただし、ここで最初のステップを実行して*.edmxファイルを作成すると、POCO クラスとコンテキストが生成されていることがわかります。DbContext Generatorはまったく必要ですか?つまり、私がまだ持っていないテーブルに何がもたらされるのでしょうか?

私が見る限り、Map ファイルは生成されませんが、以前にそのファイルに保持されていたデータはEntities.Designer.cs代わりにファイルの一部になりましたが、オブジェクトの変更などを処理するためのコードがさらに多くなりました。

[編集] 既存のデータベースをリバース エンジニアリングするときに、コード ファーストの実装をどのように構築する必要があるかについて、誰か例を挙げてもらえますか?

役立つ場合は、EF6 を使用し、ODAC v11.2 を使用して Oracle データベースに接続しています。

4

3 に答える 3

1

次のようにエンティティを作成します。

public class Customer
{
    [Key]
    public int ID{get;set;}

    public string Name{get;set;}

    public string GroupName{get;set;}

    public CustomerGroup Group{get;set;}
}

public class CustomerGroup
{
    [Key]
    public int ID{get;set;}

    public string Name{get;set;}

    public List<Customer> Groups{get;set;}
}

次に、DB コンテキストから継承するコンテキストが必要です

public class Context : DbContext
{
    public DbSet<Customer> Customers{get;set;}
    public DbSet<CustomerGroup> Groups{get;set;}
}

コンテキスト クラスの名前で App.Config に接続文字列がある場合、コンテキストをインスタンス化でき、接続文字列で指定された場所に指定されたエンティティを含むデータベースを作成する必要があります。

于 2013-10-28T12:31:41.723 に答える
0

これらのリンクを見てください。確かに役立ちます:)

Oracle odp とエンティティ

このサイトにもいくつかあります。

回答されたエラー

この

SaveChanges エラーのヘルプ

私はオラクルを扱ったことはありませんが、最初にフレームワークコードをエンティティ化できるので、見てみましょう。

乾杯!

于 2013-10-28T12:27:47.050 に答える