2010-11-22 3 views
2

私は.NETの初心者で、データベースのフロントエンドアプリケーションの設計プロセスの早い段階で、いくつかのアドバイスを探しています。 DBは非常に強く正規化されているが、抽象的な論理モデル(元にストアドプロシージャの多くを提供しデザインアドバイス:Entity Frameworkはストアドプロシージャに便利ですか?

私はそれを得ることを確認していない

...。SPROCをを選択しては密接に反映した複数のテーブルから1つのデータセットを返します。複数のテーブルへのビジネスオブジェクト、挿入/更新ストアドプロシージャ、等。)

どのように私は、DALを設計する必要があり? Entity Frameworkのメリットがこのコンテキストではわかりません。 生成されると、正規化されたDBスキーマが抽象化されるのではなく反映されます。 または、sprocsを生成するためにsprocsをマッピングすると(sprocsのT-SQLが動的で結合されているためにいくつかの作業が必要です)、ビジネスオブジェクトは問題なく取得できますが、単一の「抽象」テーブルと、Datarelationsを持つエンティティのセットではなく、sprocsは複数のテーブルへの呼び出しを処理します。生成された変更イベントをsprocsに直接マッピングするよりも、sprocsを直接呼び出すよりも作業が多いようです。

私には何が欠けていますか?

ありがとう、

マイケル

+0

...私が間違っているトラックの午前なら、私に教えてください - 最初にしてそれを行いますそれを反映するようにデータベースを調整してください。 EFはどんな魔法もやっていないでしょう。エンティティに直接マッピングするのは複雑な作業なので、あまり期待しないでください。 – kubal5003

+0

具体的な例:PersonテーブルとOrganizationテーブルがあり、それぞれが多対多の関係(追加のプロパティを持つ中間テーブル)のAddressテーブルにリンクされています。 DBロジックとsprocsは、Personテーブル、Orgテーブル、PersonAddressテーブル、OrgAddressのみを公開(または更新)し、中間テーブルを抽象化します(電話機などと同じロジック)。私は別々のSTデータセットを作成するだけですが、Person(+リンクされたテーブル)、Organizationなどですが、EFについては忘れていますか?申し訳ありませんが、私は明らかに初心者です... – Mike

答えて

0

あなた EFでこれを行うことができますが、設計者は、あなたを助けにはなりません。格納されたprocシグネチャからエンティティタイプを派生させる方法を知らない。 EDMXを手作業で書く必要があります。 CTP 4 code-first もっと簡単ですが、試したことはありません。いくつかの研究の後

0

は、私は右のトラックにあることを始めていると思います。 以下の記事は非常に有用だった: Entity Framework Modeling: Table Per Hierarchy Inheritance

も参照してください。Entity Frameworkのモデリング:エンティティが明確であるために

を分割、私が望んでいたことはEFモデルの抽象DBスキーマにしました。 (多対多の関係のように、「何もない」エンティティを表すことを望んでいませんでした)。

これらのモデリング技術のほかに、私はEFモデルを生成するためにビューを使用し、CRUDのためのストアドプロシージャを追加しました。私が言ったように

、私は初心者です。最初の質問は、あなたのエンティティモデルを定義したい方法です..私は本当にあなたが本当に何をしたいのかを把握することはできません

関連する問題