私は学習しながら学んでいるので、EFとMVC3の背後にあるすべての概念に精通しているわけではありません。EFモデル===MVC3モデルのアプリがありますが、いくつかの集約ViewModelもあります。私はコントローラーのように呼び出しPerson dude = Person.Get(id);
ます。ここで、Personはデータベースから生成されたEFモデルであり、次のようなカスタムメソッドで拡張します。dude.GetSiblings();
私が今やりたいことは(これが悪い考えだと言わない場合)、EFコードを別のアセンブリに移動し、ビューにフィードできる新しい単純な非エンティティモデルを使用してさらに別のアセンブリを作成することです。どういうわけか(可能であれば)JSONとしてシリアル化して移動します。
問題は、方法がわからないことです。EFモデルを別のプロジェクト(別のDALなど)に移動した場合、Efモデルにマップする2番目のモデルをどのように作成しますか?int id {get;set;} string name {get;set}
EFモデルとMVC3モデルの両方のようなコードがあれば、それは多くの繰り返しを引き起こしませんか?私のViewModelsでは、エンティティを直接使用しますclass ViewModelX { Person person; List<Post> posts; int something; }
が、それはモデルではなく、パッケージ化されたエンティティのセットですよね。
GetSiblingsのようなメソッドはどうですか?var list = dude.GetSiblings()
コントローラーとpublic List<Person> GetSiblings() { return this.EFPerson.GetSiblings(); }
MVC3モデルで?何がどこに行くのか、私は非常に混乱しています。グーグルで調べてみると、実際には高度で非常に初心者のチュートリアルしか見つかりませんでした。あるいは、何を探すべきかわからないので、助けを求めてください。